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 17865
Odczyt 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