So treten Sie in eine Funktion in GDB ein oder über eine Funktion

So treten Sie in eine Funktion in GDB ein oder über eine Funktion
Debugging ist eine grundlegende Fähigkeit, die jeder selbst identifizierte Programmierer haben sollte. Es ermöglicht es uns, Fehler in unserem Code anzusehen, zu überprüfen und zu beheben. Ein leistungsstarkes Debugging -Tool ist der GNU -Debugger, kurz GDB.

In dieser Anleitung werden die Arbeiten mit GDB in eine Funktion in unserem Code eintreten oder in eine Funktion eintreten.

Grundlegende GDB -Nutzung

Um dies zu veranschaulichen, können Sie Ihren Code verwenden oder das unten angegebene Beispiel verwenden. Im folgenden Beispiel enthält die Loop ME -Funktion eine Schleife, die wir mit GDB untersuchen werden.

#enthalten
void Loopme ()

für (int i = 0; i<5;i++)
printf ("Ich ist %d \ n", i);


int main ()
int a = 10;
a += 10;
printf ("Wert von a ist %d", a);
Loopme ();
Rückkehr 0;

Kompilieren Sie den Code mit -G als:

$ gcc -gschleife.C -o -Schleife

Starten Sie das Programm als nächstes mit GDB als:

$ gdb Loop

Einmal im GDB können wir das Programm mit dem Befehl Run oder R ausführen. Sie können das Programm anhalten, während es ausgeführt wird, indem Sie den Strg + C -Schlüssel verwenden.

Setzen wir uns einen Haltepunkt auf die Hauptfunktion ein, um die Ausführung an diesem Punkt zu stoppen. Im obigen Beispiel stehen wir in Zeile 10 an.

$ (GDB) Break Main

Breakpoint 1 bei 0x5555555555171: Dateischleife.C, Zeile 10.

Um Ihre Programmzeile für Zeile zu durchlaufen, können Sie den nächsten oder n Befehl verwenden.

$ (GDB) als nächstes
$ (GDB) n

Sobald Sie die Funktion, an der Sie arbeiten möchten, im obigen Beispiel der Funktion Loopme (), die Sie arbeiten möchten, können Sie mit dem nächsten Befehl über sie treten.

Dadurch wird die Funktion überspringen und direkt 0 als:

Sie können auch in die Funktion eintreten und mit dem Befehl Schritt oder S daran arbeiten. Um beispielsweise die Funktion Loopme () einzugeben, können wir dies tun:

$ (GDB) Schritt

Der Befehl tritt in die Funktion ein als:

Jetzt, da wir uns in der Funktion Loopme () befinden, können wir mit dem nächsten Befehl mit der Zeile die Zeile durchgehen:

Wie Sie sehen können, laufen wir durch die Schleife und sehen, wie die Schleife ausgeführt wird.

Abschluss

In diesem kurzen Tutorial haben wir den Prozess der Verwendung von GDB zum Einstieg oder in eine Funktion beim Debuggen besprochen.