Anzeigen der Aufrufliste in WinDbg (klassisch)

Die Aufrufliste ist die Kette von Funktionsaufrufen, die zum aktuellen Speicherort des Programmzählers geführt haben. Die oberste Funktion auf der Aufrufliste ist die aktuelle Funktion, die nächste Funktion die Funktion, die die aktuelle Funktion aufgerufen hat usw. Die angezeigte Aufrufliste basiert auf dem aktuellen Programmzähler, es sei denn, Sie ändern den Registrierungskontext. Weitere Informationen zum Ändern des Registrierungskontexts finden Sie unter Ändern von Kontexten.

In WinDbg können Sie die Aufrufliste anzeigen, indem Sie Befehle eingeben oder das Fenster Aufrufe verwenden.

Debuggerbefehlsfenster

Sie können die Aufrufliste anzeigen, indem Sie einen der k-Befehle (Display Stack Backtrace) im Debuggerbefehlsfenster eingeben.

Fenster "Aufrufe"

Alternativ zum Befehl k können Sie die Aufrufliste im Fenster Aufrufe anzeigen. Um das Fenster Anrufe zu öffnen, wählen Sie im Menü Ansicht die Option Anrufliste aus.

Der folgende Screenshot zeigt ein Beispiel für ein Fenster "Aufrufe".

Screenshot des Fensters

Mithilfe von Schaltflächen im Fenster Aufrufe können Sie die Ansicht der Aufrufliste anpassen. Um zum entsprechenden Aufrufort im Quellfenster oder Disassemblierungsfenster zu wechseln, doppelklicken Sie auf eine Zeile der Aufrufliste, oder wählen Sie eine Zeile aus, und drücken Sie die EINGABETASTE. Durch diese Aktion wird auch der lokale Kontext in den ausgewählten Stapelrahmen geändert. Weitere Informationen zur Ausführung bis oder ab diesem Punkt finden Sie unter Steuern des Ziels.

Im Benutzermodus basiert die Stapelüberwachung auf dem Stapel des aktuellen Threads. Weitere Informationen zum Stapel des aktuellen Threads finden Sie unter Steuern von Prozessen und Threads.

Im Kernelmodus basiert die Stapelüberwachung auf dem aktuellen Registerkontext. Sie können den Registrierungskontext so festlegen, dass er mit einem bestimmten Thread, Kontextdatensatz oder Trapframe übereinstimmt. Weitere Informationen zum Festlegen des Registerkontexts finden Sie unter Registrieren des Kontexts.

Das Fenster Aufrufe verfügt über eine Symbolleiste mit mehreren Schaltflächen und ein Kontextmenü mit zusätzlichen Befehlen. Um auf dieses Menü zuzugreifen, halten Sie die Titelleiste gedrückt (oder klicken Sie mit der rechten Maustaste darauf), oder wählen Sie das Symbol in der oberen rechten Ecke des Fensters aus (Screenshot der Schaltfläche mit dem Kontextmenü der Symbolleiste

  • Rohargumente zeigen die ersten drei Parameter an, die an die Funktion übergeben werden. Auf einem x86-basierten Prozessor enthält diese Anzeige die ersten drei Parameter, die an die Funktion übergeben werden ("Args to Child").

  • Func info zeigt FPO-Daten (Frame Pointer Omission) und andere interne Informationen zur Funktion an. Dieser Befehl ist nur auf einem x86-basierten Prozessor verfügbar.

  • Source zeigt Quellmodulnamen und Zeilennummern nach den Funktionsnamen an (wenn der Debugger über diese Informationen verfügt).

  • Addr zeigt verschiedene framebezogene Adressen an. Auf einem x86-basierten Prozessor enthält diese Anzeige den Basiszeiger für den Stapelrahmen ("ChildEBP") und die Rückgabeadresse ("RetAddr").

  • Framenummern zeigen Framenummern an. Frames werden immer nacheinander nummeriert, beginnend mit null.

  • Arg-Typen zeigen detaillierte Informationen zu den Argumenten an, die von den Funktionen im Stapel erwartet und empfangen werden.

  • Immer schwebend bewirkt, dass das Fenster nicht angedockt wird, auch wenn es an einen Andockort gezogen wird.

  • Durch Verschieben mit Frame wird das Fenster verschoben, wenn der WinDbg-Frame verschoben wird, auch wenn das Fenster abgedockt ist.

Zusätzliche Informationen

Weitere Informationen zum Registerkontext und zum lokalen Kontext finden Sie unter Ändern von Kontexten.