structure STACKFRAME64 (dbghelp.h)
Représente un frame de pile.
Syntaxe
typedef struct _tagSTACKFRAME64 {
ADDRESS64 AddrPC;
ADDRESS64 AddrReturn;
ADDRESS64 AddrFrame;
ADDRESS64 AddrStack;
ADDRESS64 AddrBStore;
PVOID FuncTableEntry;
DWORD64 Params[4];
BOOL Far;
BOOL Virtual;
DWORD64 Reserved[3];
KDHELP64 KdHelp;
} STACKFRAME64, *LPSTACKFRAME64;
Membres
AddrPC
Structure ADDRESS64 qui spécifie le compteur du programme.
x86 : Le compteur du programme est EIP.
Intel Itanium : Le compteur du programme est StIIP.
x64 : Le compteur du programme est RIP.
AddrReturn
Une structure ADDRESS64 qui spécifie l’adresse de retour.
AddrFrame
Structure ADDRESS64 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 ADDRESS64 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.
AddrBStore
Intel Itanium : Structure ADDRESS64 qui spécifie le magasin de stockage (RsBSP).
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 StackWalk64 .
KdHelp
Une structure KDHELP64 qui spécifie les données d’assistance pour les trames de rappel du noyau.
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;
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
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | dbghelp.h |
Composant redistribuable | DbgHelp.dll 5.1 ou version ultérieure |