Structure STACKFRAME (dbghelp.h)
Représente un frame de pile.
Syntaxe
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;
Membres
AddrPC
Structure ADDRESS qui spécifie le compteur de programme.
x86 : Le compteur du programme est EIP.
Intel Itanium : Le compteur du programme est StIIP.
x64 : Le compteur du programme est RIP.
AddrReturn
Structure ADDRESS qui spécifie l’adresse de retour.
AddrFrame
Structure ADDRESS qui spécifie le pointeur d’image.
x86 : Le pointeur d’image est EBP.
Intel Itanium : Il n’existe aucun pointeur d’image, mais AddrBStore est utilisé.
x64 : Le pointeur d’image est RBP ou RDI. Cette valeur n’est pas toujours utilisée.
AddrStack
Structure ADDRESS qui spécifie le pointeur de pile.
x86 : Le pointeur de pile est ESP.
Intel Itanium : Le pointeur de pile est fournisseur de services.
x64 : Le pointeur de pile est RSP.
FuncTableEntry
Sur les ordinateurs x86, ce membre est une structure FPO_DATA . S’il n’existe aucune entrée de table de fonction, ce membre a la valeur NULL.
Params[4]
Arguments possibles de la fonction.
Far
Ce membre a la valeur TRUE s’il s’agit d’un appel de distance WOW.
Virtual
Ce membre a la valeur TRUE s’il s’agit d’une trame virtuelle.
Reserved[3]
Ce membre est utilisé en interne par la fonction StackWalk .
KdHelp
Structure KDHELP qui spécifie les données d’assistance pour les trames de rappel du noyau.
AddrBStore
Intel Itanium : Structure ADDRESS qui spécifie le magasin de stockage (RsBSP).
Remarques
Cette structure remplace la structure STACKFRAME . Pour plus d’informations, consultez Mise à jour de la prise en charge de la plateforme. STACKFRAME est défini comme suit dans 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
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | dbghelp.h |
Composant redistribuable | DbgHelp.dll 5.1 ou version ultérieure |