Jak wejść do funkcji w GDB

Jak wejść do funkcji w GDB
Debugowanie to podstawowa umiejętność, którą powinien mieć każdy samozidentyfikowany programista. Pozwala nam przeglądać, przeglądać i naprawić błędy w naszym kodzie. Jednym potężnym narzędziem debugowania jest w skrócie debugger GNU, GDB.

W tym przewodniku przyjrzy się pracy z GDB, aby wejść do funkcji w naszym kodzie lub nadejdzie.

Podstawowe użycie GDB

Aby to zilustrować, możesz użyć kodu lub użyć podanej poniższej próbki. W poniższym przykładzie funkcja pętli zawiera pętlę, którą zbadamy za pomocą GDB.

#włączać
void Loopme ()

dla (int i = 0; i<5;i++)
printf („I is %d \ n”, i);


int main ()
int a = 10;
A += 10;
printf („Wartość a is %d”, a);
Loopme ();
powrót 0;

Skompiluj kod z -g jako:

pętla $ gcc -g.Pętla C -O

Następnie uruchom program z GDB jako:

Pętla $ GDB

W GDB możemy uruchomić program za pomocą polecenia Run lub R. Możesz zatrzymać program podczas jego uruchomienia za pomocą klucza CTRL + C.

Ustawmy punkt przerwania na głównej funkcji, aby zatrzymać wykonanie w tym momencie. W powyższym przykładzie zatrzymujemy się na linii 10.

$ (GDB) Break Main

Punkt przerwania 1 na 0x555555555171: Pętla pliku.C, linia 10.

Aby przejść przez wiersz programu według wiersza, możesz użyć polecenia następnego lub n.

$ (gdb) następny
$ (gdb) n

Po przejściu do funkcji, nad którą chcesz pracować, w powyższym przykładzie, funkcja Loopme (), możesz przejść nad nią za pomocą następnego polecenia.

Pomijając funkcję i przejdzie bezpośrednio 0 jako:

Możesz także wejść do funkcji i pracować nad nią za pomocą polecenia kroku lub s. Na przykład, aby podać funkcję Loopme (), możemy zrobić:

$ (GDB) krok

Polecenie wejdzie do funkcji jako:

Teraz, gdy jesteśmy w funkcji Loopme (), możemy przejść przez wiersz IT według wiersza za pomocą następnego polecenia:

Jak widać, biegamy przez pętlę i widzimy, jak wykonuje się pętla.

Wniosek

W tym szybkim samouczku omówiliśmy proces używania GDB do przejścia lub do funkcji podczas debugowania.