PWINDBG_STACKTRACE_ROUTINE回调函数 (wdbgexts.h)

PWINDBG_STACKTRACE_ROUTINEStackTrace) 函数检索正在调试的进程的堆栈跟踪。 返回 StackFrames指向的缓冲区中读取的帧数。

语法

PWINDBG_STACKTRACE_ROUTINE PwindbgStacktraceRoutine;

ULONG PwindbgStacktraceRoutine(
  [in]  ULONG FramePointer,
  [in]  ULONG StackPointer,
  [in]  ULONG ProgramCounter,
  [out] PEXTSTACKTRACE StackFrames,
  [in]  ULONG Frames
)
{...}

参数

[in] FramePointer

指定帧指针。 如果不需要任何特定值,则只需将此值设置为零。

[in] StackPointer

指定堆栈指针。 如果不需要任何特定值,则只需将此值设置为零。

[in] ProgramCounter

指定指令指针。 如果不需要任何特定值,则只需将此值设置为零。

[out] StackFrames

接收堆栈信息。 StackFrames 必须是指向足够大的缓冲区的指针,以容纳由 指定的堆栈帧数。 堆栈帧存储在以下数据结构中:

typedef struct _tagEXTSTACKTRACE {
    ULONG       FramePointer;
    ULONG       ProgramCounter;
    ULONG       ReturnAddress;
    ULONG       Args[4];
} EXTSTACKTRACE, *PEXTSTACKTRACE;

[in] Frames

指定适合缓冲区的最大帧数。

返回值

StackFrames指向的缓冲区中写入的实际帧数。

言论

对于 WdbgExts 扩展,请包括 Wdbgexts.h。 为

DbgEng 扩展,包括 Wdbgexts.h 之前

Dbgeng.h. 请参阅 编写 DbgEng 扩展代码

详。

要求

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