IDebugControl3::GetStackTrace 方法 (dbgeng.h)

GetStackTrace 方法返回指定调用堆栈顶部的帧。

语法

HRESULT GetStackTrace(
  [in]            ULONG64            FrameOffset,
  [in]            ULONG64            StackOffset,
  [in]            ULONG64            InstructionOffset,
  [out, writes]   PDEBUG_STACK_FRAME 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
未返回任何堆栈帧。

注解

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

要求

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

另请参阅

GetContextStackTrace

GetFrameOffset2

GetInstructionOffset2

GetStackOffset2

IDebugControl

IDebugControl2

IDebugControl3

OutputStackTrace

StackTrace

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