PWINDBG_STACKTRACE_ROUTINE回调函数 (wdbgexts.h)
PWINDBG_STACKTRACE_ROUTINE (StackTrace) 函数检索正在调试的进程的堆栈跟踪。 返回 读取到 StackFrame 指向的缓冲区的帧数。
语法
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 必须是指向缓冲区的指针,该缓冲区的大小足以容纳 由 Frames 指定的堆栈帧数。 堆栈帧存储在以下数据结构中:
typedef struct _tagEXTSTACKTRACE {
ULONG FramePointer;
ULONG ProgramCounter;
ULONG ReturnAddress;
ULONG Args[4];
} EXTSTACKTRACE, *PEXTSTACKTRACE;
[in] Frames
指定将放入缓冲区的最大帧数。
返回值
写入 StackFrame 指向的缓冲区的实际帧数。
注解
对于 WdbgExts 扩展,请包含 Wdbgexts.h。 For
DbgEng 扩展,包括 Wdbgexts.h 之前
Dbgeng.h. 请参阅编写 DbgEng 扩展代码
详细信息。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | wdbgexts.h (包括 Wdbgexts.h、Dbgeng.h) |