Struktur STACKFRAME (dbghelp.h)
Mewakili bingkai tumpukan.
Sintaks
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;
Anggota
AddrPC
Struktur ADDRESS yang menentukan penghitung program.
x86: Penghitung program adalah EIP.
Itanium Intel: Penghitung program adalah StIIP.
x64: Penghitung program adalah RIP.
AddrReturn
Struktur ADDRESS yang menentukan alamat pengirim.
AddrFrame
Struktur ADDRESS yang menentukan penunjuk bingkai.
x86: Penunjuk bingkai adalah EBP.
Itanium Intel: Tidak ada penunjuk bingkai, tetapi AddrBStore digunakan.
x64: Penunjuk bingkai adalah RBP atau RDI. Nilai ini tidak selalu digunakan.
AddrStack
Struktur ADDRESS yang menentukan penunjuk tumpukan.
x86: Penunjuk tumpukan adalah ESP.
Itanium Intel: Penunjuk tumpukan adalah SP.
x64: Penunjuk tumpukan adalah RSP.
FuncTableEntry
Pada komputer x86, anggota ini adalah struktur FPO_DATA . Jika tidak ada entri tabel fungsi, anggota ini adalah NULL.
Params[4]
Argumen yang mungkin untuk fungsi.
Far
Anggota ini TRUE jika ini adalah panggilan jauh WOW.
Virtual
Anggota ini TRUE jika ini adalah bingkai virtual.
Reserved[3]
Anggota ini digunakan secara internal oleh fungsi StackWalk .
KdHelp
Struktur KDHELP yang menentukan data pembantu untuk bingkai panggilan balik kernel berjalan.
AddrBStore
Itanium Intel: Struktur ADDRESS yang menentukan backing store (RsBSP).
Keterangan
Struktur ini menggantikan struktur STACKFRAME . Untuk informasi selengkapnya, lihat Dukungan Platform yang Diperbarui. STACKFRAME didefinisikan sebagai berikut dalam Dbghelp.h.
#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define STACKFRAME STACKFRAME64
#define LPSTACKFRAME LPSTACKFRAME64
#else
typedef struct _tagSTACKFRAME {
ADDRESS AddrPC; // program counter
ADDRESS AddrReturn; // return address
ADDRESS AddrFrame; // frame pointer
ADDRESS AddrStack; // stack pointer
PVOID FuncTableEntry; // pointer to pdata/fpo or NULL
DWORD Params[4]; // possible arguments to the function
BOOL Far; // WOW far call
BOOL Virtual; // is this a virtual frame?
DWORD Reserved[3];
KDHELP KdHelp;
ADDRESS AddrBStore; // backing store pointer
} STACKFRAME, *LPSTACKFRAME;
#endif
Persyaratan
Persyaratan | Nilai |
---|---|
Header | dbghelp.h |
Redistribusi | DbgHelp.dll 5.1 atau yang lebih baru |