Partager via


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

Voir aussi

ADDRESS64

FPO_DATA

IMAGE_FUNCTION_ENTRY

KDHELP64

StackWalk64