IDebugControl5::GetStackTraceEx 方法 (dbgeng.h)

GetStackTraceEx 方法返回指定调用堆栈顶部的帧。 GetStackTraceEx 方法提供内联帧支持。 有关使用内联函数的详细信息,请参阅 调试优化代码和内联函数

语法

HRESULT GetStackTraceEx(
  [in]            ULONG64               FrameOffset,
  [in]            ULONG64               StackOffset,
  [in]            ULONG64               InstructionOffset,
  [out, writes]   PDEBUG_STACK_FRAME_EX Frames,
  [in]            ULONG                 FramesSize,
  [out, optional] PULONG                FramesFilled
);

参数

[in] FrameOffset

指定堆栈顶部堆栈帧的位置。 如果 FrameOffset 设置为零,则改用当前帧指针。

[in] StackOffset

指定当前堆栈的位置。 如果 StackOffset 设置为零,则改用当前堆栈指针。

[in] InstructionOffset

指定由堆栈顶部堆栈帧表示的函数的兴趣指令的位置。 如果 InstructionOffset 设置为零,则改用当前指令。

[out, writes] Frames

接收堆栈帧。 此数组保留的元素数 FrameSize

[in] FramesSize

指定 数组中的项数。

[out, optional] FramesFilled

接收 数组中放置的帧数。 如果 FramesFilledNULL,则不会返回此信息。

返回值

此方法还可以返回其他错误值。 有关详细信息,请参阅 返回值

返回代码 描述
S_OK
该方法成功。
E_FAIL
未返回堆栈帧。

言论

可以使用 outputStackTraceEx 打印返回帧的堆栈跟踪。

要求

要求 价值
目标平台 桌面
标头 dbgeng.h (包括 Dbgeng.h)

另请参阅

GetContextStackTraceEx

GetFrameOffset2

GetInstructionOffset2

GetStackOffset2

IDebugControl5

OutputStackTraceEx

StackTrace

k, kb, kc, kd, kp, kP, kv (显示堆栈回溯)