Freigeben über


IDebugControl5::OutputContextStackTraceEx-Methode (dbgeng.h)

Die OutputContextStackTraceEx-Methode gibt den Aufrufstapel aus, der durch ein Array von Stapelrahmen und entsprechenden Registerkontexten angegeben wird. Die OutputContextStackTraceEx-Methode bietet Inlineframeunterstützung. Weitere Informationen zum Arbeiten mit Inlinefunktionen finden Sie unter Debuggen von optimiertem Code und Inlinefunktionen.

Syntax

HRESULT OutputContextStackTraceEx(
  [in] ULONG                 OutputControl,
  [in] PDEBUG_STACK_FRAME_EX Frames,
  [in] ULONG                 FramesSize,
  [in] PVOID                 FrameContexts,
  [in] ULONG                 FrameContextsSize,
  [in] ULONG                 FrameContextsEntrySize,
  [in] ULONG                 Flags
);

Parameter

[in] OutputControl

Gibt an, wohin die Ausgabe gesendet werden soll. Mögliche Werte finden Sie unter DEBUG_OUTCTL_XXX.

[in] Frames

Gibt das Array von Stapelframes an, die ausgegeben werden sollen. Die Anzahl der Elemente in diesem Array ist FramesSize. Wenn FramesNULL ist, wird der aktuelle Stapelrahmen verwendet.

[in] FramesSize

Gibt die Anzahl der auszugebenden Frames an.

[in] FrameContexts

Gibt den Registrierungskontext für jeden Frame im Stapel an. Die Einträge in diesem Array entsprechen den Einträgen im Frames-Array . Der Typ des Threadkontexts ist die CONTEXT-Struktur für den effektiven Prozessor des Ziels.

[in] FrameContextsSize

Gibt die Größe des Arbeitsspeichers in Bytes an, auf den frameContexts verweist. Die Anzahl der Stapelframes muss der Anzahl von Kontexten entsprechen, und FrameContextsSize muss framesSize multipliziert mit FrameContextsEntrySize entsprechen.

[in] FrameContextsEntrySize

Gibt die Größe jedes Framekontexts in FrameContexts in Bytes an.

[in] Flags

Gibt Bitflags an, die bestimmen, welche Informationen für jeden Frame ausgegeben werden sollen. Flags können eine beliebige Kombination von Werten aus der folgenden Tabelle sein.

Flag Beschreibung
DEBUG_STACK_ARGUMENTS Zeigt die ersten drei Teile des Stapelspeichers im Rahmen jedes Aufrufs an. Auf Plattformen, auf denen Argumente auf dem Stapel übergeben werden und der Code für den Frame Stapelargumente verwendet, sind diese Werte die Argumente für die Funktion.
DEBUG_STACK_FUNCTION_INFO Zeigt Informationen zur Funktion an, die dem Frame entspricht. Dies schließt das Aufrufen von Konventions- und Framezeigerunterlassungsinformationen (FPO) ein.
DEBUG_STACK_SOURCE_LINE Zeigt Quellzeileninformationen für jeden Frame der Stapelablaufverfolgung an.
DEBUG_STACK_FRAME_ADDRESSES Zeigt die Rückgabeadresse, die vorherige Frameadresse und andere relevante Adressen für jeden Frame an.
DEBUG_STACK_COLUMN_NAMES Zeigt Spaltennamen an.
DEBUG_STACK_NONVOLATILE_REGISTERS Zeigt den nicht flüchtigen Registerkontext für jeden Frame an. Dies ist nur für einige Plattformen sinnvoll.
DEBUG_STACK_FRAME_NUMBERS Zeigt Framenummern an.
DEBUG_STACK_PARAMETERS Zeigt Parameternamen und Werte an, die in Symbolinformationen angegeben sind.
DEBUG_STACK_FRAME_ADDRESSES_RA_ONLY Zeigt nur die Rückgabeadresse in den Stapelrahmenadressen an.
DEBUG_STACK_FRAME_MEMORY_USAGE Zeigt die Anzahl der Bytes an, die die Frames trennen.
DEBUG_STACK_PARAMETERS_NEWLINE Zeigt jeden Parameter sowie seinen Typ und Wert in einer neuen Zeile an.

Rückgabewert

Diese Methode kann auch Fehlerwerte zurückgeben. Weitere Informationen finden Sie unter Rückgabewerte .

Rückgabecode BESCHREIBUNG
S_OK
Die Methode war erfolgreich.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile dbgeng.h

Weitere Informationen

IDebugControl5