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

指定 Frames 数组中的项数。

[out, optional] FramesFilled

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

返回值

此方法也可能返回其他错误值。 有关更多详细信息 ,请参阅返回值

返回代码 说明
S_OK
方法成功。
E_FAIL
未返回任何堆栈帧。

注解

可以使用 OutputStackTraceEx 打印返回到 Frames 的堆栈跟踪。

要求

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

另请参阅

GetContextStackTraceEx

GetFrameOffset2

GetInstructionOffset2

GetStackOffset2

IDebugControl5

OutputStackTraceEx

StackTrace

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