Pisałem na klawiaturze, helpgdy byłem w GDB, ale nie znalazłem nic na temat wkroczenia, przejścia i wyjścia. Umieszczam punkt przerwania w programie asemblera w _start( break _start). Następnie napisałem nexti zakończyłem debugowanie. Myślę, że było tak, ponieważ zakończyło się _starti nie wkroczyło tak, jak chciałem. Ktoś, kto może pomóc?
Czy istnieje sposób, aby wykryć wyciek pamięci w uruchomionym procesie? Mogę użyć Valgrind do wykrywania wycieków pamięci przed rozpoczęciem procesu. Mogę użyć GDB, aby dołączyć go do uruchomionego procesu. Jak mogę debugować wycieki pamięci z uruchomionego procesu?
Używam Scientific Linux (SL). Próbuję skompilować projekt korzystający z wielu plików C ++ (.cpp). W katalogu user/project/Buildwchodzę, makeaby skompilować i połączyć wszystkie pliki .cpp. Następnie muszę przejść do user/run/i wpisać./run.sh values.txt Aby debugować za pomocą GDB, muszę przejść do, user/runa następnie wpisać gdb ../project/Build/bin/Projecti uruchomić, wchodzę run -Project INPUT/inputfile.txt. Próbuję …
Czytałem stronę podręcznika dla gdb i natknąłem się na linię: You can use GDB to debug programs written in C, C@t{++}, Fortran and Modula-2. C @ t {++} wygląda jak wyrażenie regularne, ale nie mogę go zdekodować. Co to znaczy?
Napisałem program, który wzywa setuid(0)i execve("/bin/bash",NULL,NULL). Potem zrobiłem chown root:root a.out && chmod +s a.out Kiedy wykonuję ./a.out, otrzymuję powłokę roota. Jednak gdy to zrobię gdb a.out, proces zaczyna się jak zwykły użytkownik i uruchamia powłokę użytkownika. Więc ... czy mogę debugować program root setuid?
Kiedy używam polecenia GDB add-symbol-filedo załadowania symbolu, GDB zawsze pyta mnie „y lub n”, jak poniżej: gdb> add-symbol-file mydrv.ko 0xa0070000 add symbol table from file "mydrv.ko" at .text_addr = 0xa0070000 (y or n) Jak sprawić, by nie pytał i wykonywał po cichu?
Czy istnieje sposób na uzyskanie zrzutu podstawowego (lub czegoś podobnego) dla procesu bez faktycznego zabijania procesów? Mam wielowątkowy proces Pythona działający w systemie osadzonym. I chcę być w stanie uzyskać migawkę procesu w normalnych warunkach (tj. Z innymi procesami wymaganymi do uruchomienia), ale nie mam wystarczającej ilości pamięci, aby połączyć …
Debuguję za pomocą zrzutów pamięci i zauważ, że gdb wymaga dostarczenia pliku wykonywalnego oraz zrzutu pamięci. Dlaczego to? Jeśli zrzut pamięci zawiera całą pamięć używaną przez proces, to czy plik wykonywalny nie zawiera zrzutu pamięci? Być może nie ma gwarancji, że cały plik exe zostanie załadowany do pamięci (poszczególne pliki …
Zaskoczyło mnie dzisiaj gdb: Program exited with code 0146. gdbwypisuje kod powrotu ósemkowo ; sprawdzam, dlaczego znalazłem: http://comments.gmane.org/gmane.comp.gdb.devel/30363 Ale to nie jest szczególnie satysfakcjonująca odpowiedź. Szybkie wyszukiwanie w Google nie ujawniło historii, więc miałem nadzieję, że ktoś na SO może poznać historię z przeszłości. Nieco powiązane pytanie, w jaki sposób …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.