Lista poleceń GDB i tego, co robią

Lista poleceń GDB i tego, co robią
Podczas pracy z C ++, C lub Fortranem natkniesz się na GDB, akronim dla GNU ANTYLOPA Debugger, używane do debugowania programów napisanych w C, C ++ i innych językach. Debugger może zostać wywołany na terminalu i jest wstępnie zainstalowany na terminalu Linux. Aby czuć się komfortowo za pomocą debugera GNU na terminalu, konieczne jest zrozumienie różnych dostępnych poleceń i tego, co robią. Ten przewodnik obejmuje najważniejsze polecenia, podając przykłady ich używania. Sprawdź je!

Wspólne polecenia GDB

Istnieją różne sposoby wywołania debugera GNU. Możesz wpisać bezpośrednio GDB na terminalu, aby otworzyć konsolę.

Alternatywnie możesz zadzwonić do debuggera za pomocą pliku wykonywalnego. Jeśli masz plik wykonywalny, taki jak program C lub C ++, który chcesz debugować, możesz skompilować za pomocą -G opcja. W naszym przykładzie użyjemy próbka 1.CPP plik.

Aby skompilować go za pomocą kompilatora G ++, poleceniem będzie:

$ g ++ -g -o próbka 1 próbka 1.CPP

Tutaj dodajemy opcję -O, aby zapisać skompilowany program do nazwanego pliku próbka 1.

Po skompilowaniu możesz wywołać debugger GNU podczas dołączania skompilowanego pliku wyjściowego do debugowania. Poleceniem będzie:

$ GDB próbka 1

Otwiera się konsola i możesz użyć dostępnych poleceń GDB do wykonywania różnych działań. Wspólne polecenia obejmują:

1. zrezygnować : Aby wyjść z konsoli GDB, wpisz rezygnację lub Q.

2. Uruchom [args]: Na podstawie funkcji w programie możesz wywołać funkcję, aby uruchomić za pomocą tego polecenia i dodać potrzebne argumenty. W naszym przypadku mamy Getsquare funkcja, która przyjmuje argument liczby. Dlatego jeśli musimy zdobyć kwadrat liczby, wpisujemy uruchomić a następnie liczba. Na przykład, zdobądźmy kwadrat 6. Wyjście będzie jak pokazano poniżej:

Na dole możesz zauważyć, że program zwrócił wyjście kwadratu. Możesz uruchomić więcej opcji z różnymi argumentami.

3. pomoc: Otwiera stronę ręczną dla debugera GNU ze wszystkimi klasami poleceń dostępnych do użycia.

Możesz zawęzić stronę pomocy, określając, która klasa poleceń chcesz uzyskać ich stronę ręczną. W tym celu składa jest używana poniżej:

$ help [nazwa klas]

Na przykład, aby uzyskać stronę ręczną dla klasy działanie, Poniższe wyjście będzie:

4. przerwa: Gdy musisz debugować program, możesz dodać różne punkty przerwania za pomocą polecenia Break. Poza tym istnieje wiele sposobów na dodanie punktu przerwania.

Wspólne sposoby obejmują:

B [Nazwa funkcji]
Break [Numer linii]
Break [Nazwa funkcji]
Break *[Adres]

Na przykład, jeśli znasz określoną nazwę funkcji w programie i chcesz utworzyć punkt przerwania w celu debugowania, możesz użyć poprzedniej składni. Utwórzmy punkt przerwania dla funkcji o nazwie Getsquare W następującym programie:

W poprzednim wyjściu stworzyliśmy punkt przerwania i wyświetlane informacje w konsoli.

Jeśli spróbujesz wykonać program, zatrzyma się on w punkcie przerwania. Na przykład, uzyskajmy kwadrat 12 za pomocą Uruchom 12.

Debugger zatrzymuje się w punkcie przerwania, w którym jest określona nazwa funkcji. W tym momencie możesz debugować swój program i kontynuować, gdy wszystko działa dobrze.

5. Kontynuuj lub c: Po zakończeniu debugowania i chcesz wznowić wykonanie polecenia bez punktu przerwania Set, uruchom polecenie kontynuuj. Wykonuje polecenie do następnego punktu przerwania lub końca programu. Jeśli chcesz dodać liczbę razy, aby powtórzyć polecenie kontynuuj, dodaj liczbę.

Dwie składnia to:

Kontynuuj lub c
c [powtórz liczba]

W naszym przypadku kontynuujmy bez powtórzeń.

Daje wyjście zatrzymanego polecenia. Gdybyśmy mieli różne argumenty, zapewniłby każdy wynik po punkcie przerwania. Na przykład, ingelujmy Uruchom 4 6 8, Następnie użyj Kontynuować polecenie, aby zobaczyć, co się stanie.

Po każdym argumencie odnotujesz, że program spełnia punkt przerwania. Kiedy uruchamiamy polecenie kontynuowania, wznawia jego wykonanie.

6. Następny: Gdy program spełnia punkt przerwania, możesz wpisać Następny Lub N Aby wydrukować następny wiersz w wykonaniu.

7. usuwać: Jeśli masz różne punkty przerwania i punkty kontrolne, możesz je usunąć za pomocą następującego polecenia. Jeśli biegniesz D Lub usuwać Bez argumentów usuwa wszystkie punkty przerwania i punkty kontrolne. Możesz jednak określić, które należy usunąć, wybierając jego numer.

8. jasne: Aby usunąć punkt przerwania powiązany z daną nazwą funkcji, użyj następnego polecenia Clear, a następnie nazwy funkcji:

W tym momencie nie mamy już żadnego punktu przerwania w naszym programie.

Jeśli usunięcie punktu przerwania nie jest opcją, co powiesz na wyłączenie i umożliwienie im, gdy tylko chcesz?

9. wyłączyć I włączać: Aby wyłączyć punkt przerwania, określ jego numer.

Później użyj polecenia Enable, a następnie jego liczby, aby je aktywować.

10. informacje: Możesz uzyskać szczegóły dostępnych punktów kontrolnych i punktów przerwania. Użyj następującego polecenia, aby uzyskać szczegóły wszystkich punktów przerwania lub punktów kontrolnych:

Punkty przerwania informacji
Informacje punkty kontrolne

Aby określić punkt przerwania lub punkt kontrolny, użyj następującej składni:

Punkty przerwania informacji [Breakpoint-numer]
Informacje o punkcie kontrolnym [liczba punktów przerwania]

11. Ustaw Args: Aby ustawić listę argumentów do użycia podczas wykonywania uruchomić polecenie, użyj zestawów argumentów, a następnie argumentów. Na przykład:

Ustaw args 2 4

Jeśli wywołamy polecenie uruchom, dostanie kwadrat dwóch argumentów.

Możesz wyświetlić dostępną listę argumentów za pomocą Pokaż Args Komenda.

Wniosek

Omówiliśmy najczęstszą listę poleceń GDB w Linux. Przy odrobinie praktyki łatwiej będzie korzystać z poleceń w celu osiągnięcia różnych funkcji. Mamy nadzieję, że ten artykuł dostarczył przewagi w użyciu poleceń Debuggera GNU.