IDebugControl4::OutputContextStackTrace-Methode (dbgeng.h)

Die OutputContextStackTrace-Methode gibt die Aufrufliste aus, die durch ein Array von Stapelrahmen und den entsprechenden Registerkontexten angegeben wird.

Syntax

HRESULT OutputContextStackTrace(
  [in] ULONG              OutputControl,
  [in] PDEBUG_STACK_FRAME 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 der auszugebenden Stapelrahmen an. 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 Speichers in Bytes an, auf den FrameContexts verweist. Die Anzahl der Stapelrahmen 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 Stapelspeicherelemente im Rahmen jedes Aufrufs an. Auf Plattformen, auf denen Argumente für den 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. Dazu gehören Aufrufkonventions- und Framepointer-Auslassungsinformationen (FPO).
DEBUG_STACK_SOURCE_LINE Zeigt Quellzeileninformationen für jeden Frame der Stapelüberwachung 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, wie in Symbolinformationen angegeben.
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 gibt möglicherweise auch Fehlerwerte zurück. Weitere Informationen finden Sie unter Rückgabewerte .

Rückgabecode BESCHREIBUNG
S_OK
Die Methode war erfolgreich.

Hinweise

Das Array von Stapelframes kann mit GetContextStackTrace abgerufen werden.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile dbgeng.h (include Dbgeng.h, Ntddk.h)

Weitere Informationen

GetContextStackTrace

IDebugControl4

OutputStackTrace

k, kb, kc, kd, kp, kP, kv (Display Stack Backtrace)