STACKFRAME_EX结构 (dbghelp.h)

表示扩展堆栈帧。

语法

typedef struct _tagSTACKFRAME_EX {
  ADDRESS64 AddrPC;
  ADDRESS64 AddrReturn;
  ADDRESS64 AddrFrame;
  ADDRESS64 AddrStack;
  ADDRESS64 AddrBStore;
  PVOID     FuncTableEntry;
  DWORD64   Params[4];
  BOOL      Far;
  BOOL      Virtual;
  DWORD64   Reserved[3];
  KDHELP64  KdHelp;
  DWORD     StackFrameSize;
  DWORD     InlineFrameContext;
} STACKFRAME_EX, *LPSTACKFRAME_EX;

成员

AddrPC

指定程序计数器 的ADDRESS64 结构。

x86: 程序计数器为 EIP。

Intel Itanium: 程序计数器为 StIIP。

x64: 程序计数器为 RIP。

AddrReturn

指定返回地址 的ADDRESS64 结构。

AddrFrame

指定帧指针 的ADDRESS64 结构。

x86: 框架指针为 EBP。

Intel Itanium: 没有框架指针,但使用 AddrBStore

x64: 帧指针为 RBP 或 RDI。 此值并非始终使用。

AddrStack

指定堆栈指针 的ADDRESS64 结构。

x86: 堆栈指针为 ESP。

Intel Itanium: 堆栈指针为 SP。

x64: 堆栈指针为 RSP。

AddrBStore

Intel Itanium: 一个ADDRESS64结构,指定 rsBSP) (后备存储。

FuncTableEntry

在 x86 计算机上,此成员是 一个FPO_DATA 结构。 如果没有函数表条目,则此成员为 NULL

Params[4]

函数的可能参数。

Far

如果这是 WOW 远调用,则此成员为 TRUE

Virtual

如果这是虚拟帧,则此成员为 TRUE

Reserved[3]

此成员由 StackWalk64 函数在内部使用。

KdHelp

一个KDHELP64结构,指定用于遍走内核回调帧的帮助程序数据。

StackFrameSize

设置为 sizeof(STACKFRAME_EX)

InlineFrameContext

指定内联框架上下文的类型。

含义
INLINE_FRAME_CONTEXT_INIT
0
未知。
INLINE_FRAME_CONTEXT_IGNORE
0xffffffff
未知。

注解

此结构取代了 STACKFRAME64 结构。 有关详细信息,请参阅 更新的平台支持

要求

要求
Header dbghelp.h
可再发行组件 DbgHelp.dll 6.2 或更高版本