Pytania otagowane jako gdb

GNU Debugger (GDB) to przenośny debugger, który działa na wielu systemach typu Unix i działa dla wielu języków programowania.

2
Jak wejść, wejść i wyjść z GDB?
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?


3
Jak skompilować bez optymalizacji -O0 przy użyciu CMake
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ę …


2
Czy gdb może debugować programy typu suid root?
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?
16 debugging  setuid  gdb 

1
Jak sprawić, aby gdb nie pytał mnie „y or n”?
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?
14 debugging  gdb 

2
Zrzuć rdzeń procesu bez zabijania procesu
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ć …

3
Dlaczego GDB potrzebuje pliku wykonywalnego oraz zrzutu pamięci?
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 …
11 core-dump  gdb 

2
Historia Uniksa: ósemkowy kod powrotu?
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 …
10 gdb  history 
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.