(dbgeng.h) 的 IDebugControl4::OutputContextStackTrace 方法

OutputContextStackTrace 方法會列印堆疊框架陣列印堆疊框架數位和對應的緩存器內容所指定的呼叫堆疊。

語法

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
);

參數

[in] OutputControl

指定要傳送輸出的位置。 如需可能的值,請參閱 DEBUG_OUTCTL_XXX

[in] Frames

指定要輸出的堆疊框架陣列。 此陣列中的元素數目為 FramesSize。 如果 FramesNULL,則會使用目前的堆疊框架。

[in] FramesSize

指定要輸出的畫面格數目。

[in] FrameContexts

指定堆疊中每個框架的緩存器內容。 這個陣列中的項目會對應至 Frames 陣列中的專案。 線程內容的型別是目標有效處理器的CONTEXT結構。

[in] FrameContextsSize

指定 FrameContexts 所指向記憶體的大小,以位元組為單位。 堆疊框架的數目必須等於內容數目,而 FrameContextsSize 必須等於 FramesSize 乘以 FrameContextsEntrySize

[in] FrameContextsEntrySize

指定 FrameContexts 中每個框架內容的大小,以位元組為單位。

[in] Flags

指定要針對每個畫面輸出哪些資訊的位旗標。 旗標 可以是下表中值的任何組合。

旗標 描述
DEBUG_STACK_ARGUMENTS 在每個呼叫的框架上顯示前三個堆疊記憶體片段。 在堆疊上傳遞自變數且框架的程式代碼使用堆疊自變數的平臺上,這些值會是函式的自變數。
DEBUG_STACK_FUNCTION_INFO 顯示對應至框架之函式的相關信息。 這包括呼叫慣例和框架指標省略 (FPO) 資訊。
DEBUG_STACK_SOURCE_LINE 顯示堆疊追蹤每個框架的來源行資訊。
DEBUG_STACK_FRAME_ADDRESSES 顯示每個畫面的傳回位址、先前的框架位址和其他相關位址。
DEBUG_STACK_COLUMN_NAMES 顯示資料行名稱。
DEBUG_STACK_NONVOLATILE_REGISTERS 顯示每個畫面的非變動性緩存器內容。 這隻適用於某些平臺。
DEBUG_STACK_FRAME_NUMBERS 顯示框架編號。
DEBUG_STACK_PARAMETERS 顯示符號資訊中指定的參數名稱和值。
DEBUG_STACK_FRAME_ADDRESSES_RA_ONLY 只顯示堆疊框架位址中的傳回位址。
DEBUG_STACK_FRAME_MEMORY_USAGE 顯示分隔框架的位元元組數目。
DEBUG_STACK_PARAMETERS_NEWLINE 在新行上顯示每個參數及其類型和值。

傳回值

這個方法也可能傳回錯誤值。 如需詳細資訊,請參閱 傳回值

傳回碼 描述
S_OK
此方法成功。

備註

堆疊框架的陣列可以使用 GetContextStackTrace 取得。

規格需求

需求
目標平台 桌面
標頭 dbgeng.h (包含 Dbgeng.h、Ntddk.h)

另請參閱

GetContextStackTrace

IDebugControl4

OutputStackTrace

k、kb、kc、kd、kp、kP、kv (顯示堆疊回溯)