STACKFRAME 結構 (dbghelp.h)

代表堆疊框架。

語法

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;

成員

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。

FuncTableEntry

在 x86 計算機上,此成員是 FPO_DATA 結構。 如果沒有函式數據表專案,此成員為 NULL

Params[4]

函式的可能自變數。

Far

如果這是 WOW 遠距呼叫,則此成員為 TRUE

Virtual

如果這是虛擬框架,則此成員為 TRUE

Reserved[3]

StackWalk64 函式會在內部使用此成員。

KdHelp

KDHELP64 結構,指定逐步執行核心回呼框架的協助程序數據。

AddrBStore

Intel Itanium: 指定 RsBSP) 備份儲存區 (的 ADDRESS64 結構。

備註

這個結構會取代 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 或更新版本

另請參閱

ADDRESS64

FPO_DATA

IMAGE_FUNCTION_ENTRY

KDHELP64

StackWalk64