start [sta] |
uruchamia analizowany program w trybie ciągłym automatycznie wstawiając punkt przerwania na początku pierwszej funkcji programu |
continue [c] |
przechodzi z trybu krokowego do ciągłego (wznawia wykonanie programu) |
break lokacja [b] |
wstawia punkt przerwania w określone miejsce programu |
delete nr [d nr] |
usuwa punkt przerwania o numerze nr |
next[n] |
wykonuje kolejną linię kodu programu - nie wchodzi do wnętrza funkcji |
nexti [ni] |
wykonuje kolejną instrukcję maszynową programu - nie wchodzi do wnętrza funkcji |
step [s] |
wykonuje kolejną linię kodu programu -wchodzi do wnętrza funkcji |
stępi [si] |
wykonuje kolejną instrukcję maszynową programu - wchodzi do wnętrza funkcji |
finish [fin] |
wykonuje program w trybie ciągłym do momentu osiągnięcia instrukcji powrotu z funkcji |
print zmienna [p] |
wyświetla wartość podanej zmiennej |
display zmienna [disp] |
dodaje zmienną do listy elementów których wartości są wyświetlane przy każdym kroku wykonywanego programu |
examine adres [x] |
wyświetla zawartość komórki pamięci o podany m adresie |
list [1] |
wyświetl kod źródłowy programu począwszy od aktualnego miejsca zatrzymania |
info break [i b] |
wyświetla listę punktów przerwania umieszczonych w programie |
info display [i disp] |
wyświetla listę zmiennych wyświetlanych przy każdy kroku wykonywanego programu |
info register [i r] |
wyświetla informacje o rejestrach mikroprocesora |
set args argumenty |
ustaw argumenty linii poleceń |
Przekład wyszukiwania błędów w programie
g++ -Wall -g gdb-exarople-l.cpp -o test #include <iostream>
int div(int al)
{
int w,c, tab[10] = (0);
for (c = sizeof(tab)/sizeof(tab[0]); c >= 0; c—){ tab[c] = al/c; w += tab[c];
return w;
}
int main()
{
int ivall; ivall = div(100); return ivall;