1 GDB Omówienie z przykładamiMaciej Wątroba
2 Czym jest GDB? „GNU Debugger”Przeznaczony do pracy z m.in. do C oraz C++ Pozwala sprawdzić stan programu w wybranym punkcie wykonania Ułatwia znalezienie przyczyn błędów (np. przepełnienie stosu)
3 Kompilacja Aby dodać wsparcie dla debuggowania kompilujemy z opcją -ggcc [flagi] -g
4 Praktyczne wskazówki (gdb) help [command] Historia autodopełnianie
5 Uruchamianie gdb (gdb) file prog1Komendą file ładujemy odpowiedni plik
6 Uruchamianie c.d. (gdb) runJeśli wszystko jest OK powinien zakończyć się bez błędów Jeśli wystąpią jakieś problemy dostaniemy przydatne informację dotyczące błędu (np. w której linii wystąpił)
7 Breakpoints Breakpointy służą do zatrzymania programu w określonym miejscu (gdb) break file1.c:6 Możemy dodać dowolną ilość breakpointów
8 Breakpoints c. d. Można również ustawić na fukncji (gdb) brea my_func
9 Co dalej? Run … Przejście do kolejnego breakpointa komendą continue(gdb) continue Przejdść do kolejnej linii kodu komendą step (gdb) step Bardzo podobna komenda next
10 Aspekty wykonywania (gdb) print my_var(gdb) print/x my_var (w formacie hexadecymalnym)
11 Watchpoints Zatrzymanie programu gdy wartość danej zmiennej zostanie zmodyfikowana (gdb) watch my_war
12 Inne komendy backtrace / wherefinish – uruchom do końca działania obecnej funkcji delete – usuń breakpoint Info breakpoints – informacje o breakpointach
13 Wskaźniki Podgląd adresów pamięci Podglądanie zawartościPodgląd struktury