Freigeben über


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

Weitere Informationen

ADRESSE

FPO_DATA

IMAGE_FUNCTION_ENTRY

KDHELP

StackWalk