1 / 13

GDB Omówienie z przykładami

Maciej Wątroba. GDB Omówienie z przykładami. 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). Kompilacja.

Download Presentation

GDB Omówienie z przykładami

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Maciej Wątroba GDBOmówienie z przykładami

  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ą -g • gcc [flagi] -g <source> -o <output> Na przykład: • gcc -Wall -g prog1.c -o prog1

  4. Praktyczne wskazówki (gdb) help [command] • Historia • autodopełnianie

  5. Uruchamianie gdb (gdb) file prog1 Komendą file ładujemy odpowiedni plik

  6. Uruchamianie c.d. (gdb) run • Jeś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 / where • finish – 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ści • Podgląd struktury

More Related