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 |
---|---|
|
Die Methode war erfolgreich. |
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | dbgeng.h |