IDebugControl5::OutputContextStackTraceEx 方法 (dbgeng.h)
OutputContextStackTraceEx 方法會列印堆疊框架陣列印堆疊框架數位和對應的緩存器內容所指定的呼叫堆疊。 OutputContextStackTraceEx 方法提供內嵌框架支援。 如需使用內嵌函式的詳細資訊,請參閱偵錯 優化程式代碼和內嵌函式。
語法
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
);
參數
[in] OutputControl
指定要傳送輸出的位置。 如需可能的值,請參閱 DEBUG_OUTCTL_XXX。
[in] Frames
指定要輸出的堆疊框架陣列。 此陣列中的元素數目是 FramesSize。 如果 Frames 是 NULL,則會使用目前的堆疊框架。
[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 | 在新行上顯示每個參數及其類型和值。 |
傳回值
這個方法也可能傳回錯誤值。 如需詳細資訊,請參閱 傳回值 。
傳回碼 | 描述 |
---|---|
|
此方法成功。 |
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | dbgeng.h |