IDebugControl2::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

指定 数组中的项数。

[out, optional] FramesFilled

接收 数组中放置的帧数。 如果 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 (显示堆栈回溯)