gdb

Najbardziej trudne / przydatne polecenia dla debuggera gdb [zamknięty]

Czy możesz publikować swoje najbardziej skomplikowane i przydatne polecenia podczas uruchamiania debuggera, takiego jak gdb lub dbx.

Jak wydrukować elementy wektora C++ w GDB?

Chcę sprawdzić zawartość std::vector W GDB, jak to zrobić? Powiedzmy, że to std::vector<int> ze względu na prostotę.

Jak wydrukować pełną wartość długiego ciągu w gdb?

Chcę wydrukować pełną długość ciągu C w GDB. Domyślnie jest skracany, jak wymusić na GDB wydrukowanie całego ciągu?

Czy Mogę ustawić punkt przerwania na "dostęp do pamięci" w GDB?

Uruchamiam aplikację przez gdb i chcę ustawić punkt przerwania za każdym razem, gdy dana zmienna jest dostępna / zmieniana. C ... etoda? Byłbym również zainteresowany innymi sposobami monitorowania zmiennej w C / C++, aby zobaczyć,czy / kiedy się zmienia.

Jak podświetlić i pokolorować wyjście gdb podczas interaktywnego debugowania?

Proszę nie odpowiadać powinienem używać ddd, nemiver, emacs, vim, lub jakiegokolwiek innego front-endu, po prostu wolę gdb, jak to jest, ale chciałbym zobaczyć jego wyjście z niektórymi kolorami terminala.

Pokaż aktualną instrukcję montażu w GDB

Robię debugowanie na poziomie assembly w GDB. Czy istnieje sposób, aby GDB pokazało mi bieżącą instrukcję montażu w taki sam ... adres bieżącej instrukcji, ale muszę odwoływać się do wyjścia disassemble, aby zobaczyć, którą instrukcję aktualnie wykonuję.

Jak uruchomić program z args linii poleceń przy użyciu gdb w skrypcie bash?

Podczas uruchamiania programu na gdb, Zwykle argumenty dla programu podawane są w Komendzie run. Czy istnieje sposób na uruch ... mu po uruchomieniu skryptu. Ale wtedy będę musiał "poczekać" na program. Jestem ciekaw, czy jest inny sposób, aby to zrobić.

Drukowanie wszystkich zmiennych globalnych/lokalnych?

Jak wydrukować wszystkie zmienne globalne/zmienne lokalne? Czy to możliwe w gdb?

Jak analizować plik zrzutu pamięci programu za pomocą GDB, gdy ma on parametry wiersza poleceń?

Mój program działa tak: exe -p param1 -i param2 -o param3 Rozbił się i wygenerował plik zrzutu pamięci, core.pid. Chcę p ... ore.pid Ale GDB rozpoznaje parametry pliku EXE jako wejście GDB. Jak przeanalizować plik zrzutu pamięci w takiej sytuacji?

Czy jest GUI C++ gdb dla Linuksa? [zamknięte]

Krótko: czy ktoś zna GUI dla gdb, który przynosi go na par lub blisko zestawu funkcji, które można uzyskać w nowszej wersji V ... obycia, witryny takie jak ta są świetne, ponieważ można uzyskać wyobrażenie o osobistych doświadczeniach ludzi z aplikacjami.

Uszkodzona ramka stosu GDB - jak debugować?

Mam następujący ślad stosu. Czy można z tego wyciągnąć coś przydatnego do debugowania? Program received signal SIGSEGV, Segm ... SO dadzą mi odpowiedź. Chcę skorzystać z wskazówek SO I sam znaleźć odpowiedź, więc nie zamieszczam tutaj kodu. Przepraszam.

Najlepszy sposób na wywołanie gdb z wewnątrz programu, aby wydrukować jego stacktrace?

Użycie takiej funkcji: #include <stdio.h> #include <stdlib.h> #include <sys/wait.h> #include <unistd.h ... { waitpid(child_pid,NULL,0); } } Widzę szczegóły print_trace w wyjściu. Jakie są inne sposoby, aby to zrobić?

Jakie są najlepsze sposoby automatyzacji sesji debugowania GDB?

Czy GDB ma wbudowany mechanizm skryptowy, czy mam zakodować skrypt expect, czy jest jeszcze lepsze rozwiązanie? Za każdym ... każdego polecenia do pliku(najprawdopodobniej używając wbudowanego mechanizmu logowania GDB, chyba że ktoś ma lepszy pomysł).

Getting gdb to save a list of breakpoints?

Ok, info break wyświetla listę punktów przerwania, ale nie w formacie, który dobrze by działał przy ponownym ich użyciu przy ... (gdb) info break Num Type Disp Enb Address What 1 breakpoint keep y 0x08048517 <foo::bar(void)+7>

Czy debugujesz kod C++ w Vim? Jak?

Pytanie jest do wszystkich ludzi, którzy używają Vima do tworzenia aplikacji C++. Był okres w moim życiu, który można opisać ... kroku, kroku? Proszę, nie mów mi, że używasz GDB jako linii poleceń, widzisz tylko jedną linię, która jest debugowana, itp.

Jak ustawić warunkowy punkt przerwania w gdb, gdy char * x wskazuje na łańcuch znaków, którego wartość jest równa "hello"?

Czy Mogę określić, że chcę, aby gdb łamało linię x, gdy char* x wskazuje na łańcuch znaków, którego wartość jest równa "hello"? Jeśli tak, to w jaki sposób?

Jak przekazać argumenty i przekierować stdin z pliku do programu uruchomionego w gdb?

Zwykle uruchamiam program jako: ./a.out arg1 arg2 <file Chciałbym debugować go za pomocą gdb. Znam funkcjonalność set args, ale działa ona tylko z monitu gdb.

Debugowanie najlepszych praktyk dla C++ STL / Boost z gdb

Debugowanie za pomocą gdb, każdy kod c++, który używa STL / boost jest nadal koszmarem. Wie o tym każdy, kto używał gdb z STL ... L / Boost, takiej jak STLport. Użyj logowania (na przykład zgodnie z opisem tutaj) Aktualizacja : GDB ma nową gałąź C++ .

Użycie gdb do jednostopniowego kodu montażowego poza podanym plikiem wykonywalnym powoduje błąd " nie można znaleźć granic bieżącej funkcji"

Jestem poza programem wykonywalnym gdb i nie mam nawet stosu odpowiadającego temu celowi. I tak chcę zrobić jednoetapowy kro ... ozmiar instrukcji montażu x86 jest różny, a lokalizacja zespołu zmieni się za każdym razem, gdy ponownie uruchomię komputer.)

Jak uruchomić ndk-gdb na Androidzie?

Próbuję uruchomić debugger NDK, ale jak na razie bez powodzenia. Aby upewnić się, że moje symbole debugowania są obecne i po ... ale punkty przerwania nigdy nie są wyzwalane. [1]} używam API na poziomie 8, ponieważ muszę obsługiwać Androida 2.2 (Froyo).