MC, 23:06 sobota, 22.01.2011 r.
Ilustracja do artykułu: GDB: Breakpoint na linijkę w module programu

GDB: Breakpoint na linijkę w module programu

Każdy większy program powinien być podzielony na moduły - osobne pliki zawierające pogrupowane funkcje itp. Tak zbudowaną aplikację można w znacznie prostszy sposób analizować, modyfikować oraz szybciej kompilować. Co jednak, gdy chcemy taki program przepuścić przez debugger dbg? Ostatnia praktyka zmusiła mnie do znalezienia odpowiedzi na to pytanie, a że się udało - spróbuję opisać rozwiązanie w tym artykule. Żeby dać breakpoint na daną linijkę w konkretnym module programu, trzeba w pierwszej kolejności upewnić się, czy ten moduł kompilowany jest z opcją -g. Bez tego dbg nie będzie nic wiedział o naszym module, a my nie ruszymy z miejsca.
Zakładam, że mamy już skompilowany odpowiednio program,, podajmy go zatem do dbg:
gdb nasz_program

Aby ustawić breakpoint na linijkę numer n w module modul.cpp, należy wydać komendę:
b modul.cpp:n

Tym sposobem, po wydaniu powyższego polecenia oraz uruchomieniu programu komendą run, zatrzyma się on przy próbie wykonania polecenia z n-tej linii kodu pliku modul.cpp, dając nam możliwość analizowania go krok po kroku.

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: