Systemy wbudowane
miejsce w któiym ciągle wykonanie programu zostaje zakończone a debugger przechodzi do trybu krokowego. W trybie krokowym debugger wykonuje pojedyncze instrukcje na żądanie użytkownika. Tryb ciągły może zostać uruchomiony za pomocą polecenia run [r] lub start przy czym start powoduje automatyczne wstawienie punktu przerwania w pierwszej funkcji programu. Przejście z powrotem z trybu krokowego do ciągłego możliwe jest za pomocą komendy continua [c]. Punkty przerwań można umieszczać w programie za pomocą polecenia break po którym podaje się numer linii w aktualnym pliku, nazwę pliku i numer linii lub nazwę funkcji w programie. Możliwe jest również wstawienie warunkowego punktu przerwań który zostanie aktywowany tylko jeżeli podany warunek jest spełniony np.: break example.cpp:77 if a == 1. Informacje na temat aktualnie ustawionych punktów przerwań można uzyskać za pomocą polecenia info break [i b]. Punkty przerwań można usunąć z programu za pomocą polecenia delete [d] nr_punktu_przerwania.
W trybie krokowym dostępne są następujące komendy:
• next - powoduje wykonanie kolejnej instrukcji w programie. Napotkanie
instrukcji wywołania funkcji powoduje wykonanie całej funkcji bez
zatrzymywania się w jej wnętrzu.
• step - powoduje wykonanie kolejnej instrukcji w programie. Napotkanie instrukcji wywołania funkcji powoduje wejście do jej wnętrza i zatrzymanie programu na pierwszej instrukcji.
• finish powoduje ciągle wykonanie programu do momentu natrafienia na instrukcję powrotu z funkcji.
• nexti - powoduje wykonanie jednej instrukcji maszynowej programu. Napotkanie
instrukcji wywołania funkcji powoduje wykonanie całej funkcji bez
zatrzymywania się w jej wnętrzu.
• stępi - powoduje wykonanie jednej instrukcji maszynowej programu. Napotkanie instrukcji wywołania funkcji powoduje wejście do jej wnętrza i zatrzymanie programu na pierwszej instrukcji.
Jeżeli debugger pracuje w tiybie krokowym możliwe jest odczytanie wartości poszczególnych zmiennych. Służy do tego polecenie print [p] wyświetlające jednorazowo wartość zmiennej lub display [disp] wyświetlające wartość zmiennej po każdym kroku wykonywanego programu. Uzyskanie informacji na temat listy wyświetlanych zmiennych możliwe jest za pomocą polecenia info display [i disp]. Usunięcie elementu z listy zmiennych wyświetlanych przy każdym kroku programu możliwe jest za pomocą polecenia undisplay nr_zmiennej. Odczytanie zawartości określonej komórki pamięci możliwe jest za pomocą polecenia examine [x].
Podsumowanie komend programu gdb
Komenda |
Opis |
run [r] |
uruchamia analizowany program w tiybie ciągłym |