IDebugControl5::OutputContextStackTraceEx-Methode (dbgeng.h)
Die OutputContextStackTraceEx-Methode druckt den Aufrufstapel, der durch ein Array von Stapelframes 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, wo 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 Frames-NULL-ist, wird der aktuelle Stapelframe verwendet.
[in] FramesSize
Gibt die Anzahl der auszuzugebenden Frames an.
[in] FrameContexts
Gibt den Registerkontext 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 Speichers in Bytes an, auf den FrameContextsverweist. Die Anzahl der Stapelframes muss der Anzahl der Kontexte entsprechen, und FrameContextsSize- muss FramesSize multipliziert mit FrameContextsEntrySize.
[in] FrameContextsEntrySize
Gibt die Größe jedes Framekontexts in Byte in FrameContexts-an.
[in] Flags
Gibt Bitkennzeichnungen an, die bestimmen, welche Informationen für jeden Frame ausgegeben werden sollen. Flags kann eine beliebige Kombination von Werten aus der folgenden Tabelle sein.
Flagge | Beschreibung |
---|---|
DEBUG_STACK_ARGUMENTS | Zeigt die ersten drei Stapelspeicher am Frame jedes Aufrufs an. Auf Plattformen, auf denen Argumente im 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 zu der Funktion an, die dem Frame entspricht. Dazu gehören Aufrufkonventions- und Framepointer-Auslassungsinformationen (FPO). |
DEBUG_STACK_SOURCE_LINE | Zeigt Quellzeileninformationen für jeden Frame der Stapelablaufverfolgung an. |
DEBUG_STACK_FRAME_ADDRESSES | Zeigt die Absenderadresse, 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-veränderlichen 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 wie in Symbolinformationen angegeben an. |
DEBUG_STACK_FRAME_ADDRESSES_RA_ONLY | Zeigt nur die Absenderadresse in den Stapelframeadressen an. |
DEBUG_STACK_FRAME_MEMORY_USAGE | Zeigt die Anzahl der Bytes an, die die Frames trennen. |
DEBUG_STACK_PARAMETERS_NEWLINE | Zeigt jeden Parameter und dessen 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 |
Header- | dbgeng.h |