STACKFRAME-Struktur (dbghelp.h)
Stellt einen Stapelrahmen dar.
Syntax
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;
Member
AddrPC
Eine ADDRESS-Struktur , die den Programmindikator angibt.
x86: Der Programmindikator ist EIP.
Intel Itanium: Der Programmzähler ist StIIP.
x64: Der Programmindikator ist RIP.
AddrReturn
Eine ADDRESS-Struktur , die die Rückgabeadresse angibt.
AddrFrame
Eine ADDRESS-Struktur , die den Framezeiger angibt.
x86: Der Framezeiger ist EBP.
Intel Itanium: Es gibt keinen Framezeiger, aber AddrBStore wird verwendet.
x64: Der Framezeiger ist RBP oder RDI. Dieser Wert wird nicht immer verwendet.
AddrStack
Eine ADDRESS-Struktur , die den Stapelzeiger angibt.
x86: Der Stapelzeiger ist ESP.
Intel Itanium: Der Stapelzeiger ist SP.
x64: Der Stapelzeiger ist RSP.
FuncTableEntry
Auf x86-Computern ist dieses Element eine FPO_DATA-Struktur . Wenn kein Funktionstabelleneintrag vorhanden ist, ist dieser Member NULL.
Params[4]
Die möglichen Argumente für die Funktion.
Far
Dieses Element ist TRUE , wenn es sich um einen WOW-weit-Aufruf handelt.
Virtual
Dieser Member ist TRUE , wenn es sich um einen virtuellen Frame handelt.
Reserved[3]
Dieses Element wird intern von der StackWalk-Funktion verwendet.
KdHelp
Eine KDHELP-Struktur , die Hilfsdaten für durchlaufende Kernelrückrufframes angibt.
AddrBStore
Intel Itanium: Eine ADDRESS-Struktur , die den Sicherungsspeicher (RsBSP) angibt.
Hinweise
Diese Struktur ersetzt die STACKFRAME-Struktur . Weitere Informationen finden Sie unter Aktualisierte Plattformunterstützung. STACKFRAME wird in Dbghelp.h wie folgt definiert.
#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
Anforderungen
Anforderung | Wert |
---|---|
Header | dbghelp.h |
Verteilbare Komponente | DbgHelp.dll 5.1 oder höher |