Na początku jednak kilka komend, które okazały się całkiem pomoce w procesie nauki:
- start - ustawia się na pierwszej instrukcji naszego programu, w zależności od systemu punkt wejścia może mieć różną nazwę, gdb w takim przypadku zachowa się uniwersalnie.
- save breakpoints mybbb - zapisanie breakpointów do pliku. Przydatne, gdy trzeba zamknąć gdb, ale nie chcemy niszczyć dorobku naszej sesji.
- source mybbb - załadowanie breakpointów z pliku
(gdb) python >import os >print('pid %d' % os.getpid()) >end pid 17865Odczyt informacji o breakpointach:
Reading symbols from a.out...done. (gdb) b 8 Breakpoint 1 at 0x400589: file main.cpp, line 8. (gdb) info break Num Type Disp Enb Address What 1 breakpoint keep y 0x0000000000400589 in main() at main.cpp:8 (gdb) r Starting program: /home/user/cpp_gdb_test/a.out is i now 7 Breakpoint 1, main () at main.cpp:8 8 i++; (gdb) python >print(gdb.breakpoints()[0].location) >end /home/user/cpp_gdb_test/main.cpp:8Ustawienie braekpointa z poziomu pythona:
(gdb) python gdb.Breakpoint('11') Breakpoint 2 at 0x4005a1: file main.cpp, line 11. (gdb) c Continuing. is i now 8 Breakpoint 2, main () at main.cpp:11 11 printf("Hello world!!!\n");
Brak komentarzy:
Prześlij komentarz