STACKFRAME64 結構 (dbghelp.h)
代表堆疊框架。
語法
typedef struct _tagSTACKFRAME64 {
ADDRESS64 AddrPC;
ADDRESS64 AddrReturn;
ADDRESS64 AddrFrame;
ADDRESS64 AddrStack;
ADDRESS64 AddrBStore;
PVOID FuncTableEntry;
DWORD64 Params[4];
BOOL Far;
BOOL Virtual;
DWORD64 Reserved[3];
KDHELP64 KdHelp;
} STACKFRAME64, *LPSTACKFRAME64;
成員
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: 指定 RsBSP) 備份儲存區 (的 ADDRESS64 結構。
FuncTableEntry
在 x86 計算機上,此成員是 FPO_DATA 結構。 如果沒有函式數據表專案,此成員為 NULL。
Params[4]
函式的可能自變數。
Far
如果這是 WOW 遠距呼叫,則此成員為 TRUE 。
Virtual
如果這是虛擬框架,則此成員為 TRUE 。
Reserved[3]
StackWalk64 函式會在內部使用此成員。
KdHelp
KDHELP64 結構,指定逐步執行核心回呼框架的協助程序數據。
備註
這個結構會取代 STACKFRAME 結構。 如需詳細資訊,請參閱 更新的平台支援。 STACKFRAME 的定義如下:Dbghelp.h。
#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define STACKFRAME STACKFRAME64
#define LPSTACKFRAME LPSTACKFRAME64
#else
typedef struct _tagSTACKFRAME {
ADDRESS AddrPC;
ADDRESS AddrReturn;
ADDRESS AddrFrame;
ADDRESS AddrStack;
PVOID FuncTableEntry;
DWORD Params[4];
BOOL Far;
BOOL Virtual;
DWORD Reserved[3];
KDHELP KdHelp;
ADDRESS AddrBStore;
} STACKFRAME, *LPSTACKFRAME;
#endif
規格需求
需求 | 值 |
---|---|
標頭 | dbghelp.h |
可轉散發套件 | DbgHelp.dll 5.1 或更新版本 |