Ein Call-Stack ist die Daten -Struktur-Komponente eines Computerprogramms , die Spur hält aller laufenden Unterprogramme . Ein Unterprogramm ist ein Teil einer größeren Stück Software, die eine sehr spezielle Aufgabe ausführt. Unterprogramme schließlich ihre Aufgabe abzuschließen , und dass Aufrufliste verfolgt, was Unterprogramme beendet haben und welche davon sind noch aktiv. Mit dem Gnu Debugger ( GDB) , können Sie den Call-Stack für ein laufendes Programm zu sehen. Dies ist hilfreich, denn wenn Ihr Programm hat einen Fehler , und Sie müssen tiefer in die Laufzeitumgebung untersuchen , um zu sehen , was schief läuft . Things You
Linux -Computer mit gdb installiert
brauchen anzeigen Weitere Anweisungen
1
Start " gdb " für das Programm Sie möchten den Call-Stack von zu sehen.
Gdb Beispiel
2
Run eine Rückverfolgung auf dem Programm: Zum Beispiel, um das Debuggen des Programms " Beispiel:" Sie würden die folgenden in der Linux- Eingabeaufforderung eingeben . Dies zeigt eine Liste der aktiven Funktionsaufrufe im Programm-Thread . Dies ist der Aufruf-Stack , aber es gibt noch mehr können , als nur sie sehen können . Geben Sie den folgenden , um die Rückverfolgung zu initiieren :
backtrace
3
Beachten Sie die Liste der aktiven Funktionsaufrufe. Jeder ist von der Raute "#" und einer Nummer versehen . Sie können ihre Stack-Frames über diese Nummer zugreifen .
4
Beachten Sie die Stack-Frame einer aktiven Funktion aufrufen . Zum Beispiel , um den Stack-Frame für Funktionsaufruf 3 zu sehen , schreiben Sie die folgenden Schritte aus:
Rahmen 3
5
Liste alle Informationen in diesem Rahmen enthalten . Dies gibt Ihnen Informationen über die Subroutine , die Ihnen helfen, Ihr Programm testen können .