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ćSkompiluj kod z -g jako:
pętla $ gcc -g.Pętla C -ONastępnie uruchom program z GDB jako:
Pętla $ GDBW 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 MainPunkt 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ępnyPo 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) krokPolecenie 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.