Estructura STACKFRAME (dbghelp.h)
Representa un marco de pila.
Sintaxis
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;
Miembros
AddrPC
Estructura ADDRESS que especifica el contador de programa.
x86: El contador del programa es EIP.
Intel Itanium: El contador del programa es StIIP.
x64: El contador del programa es RIP.
AddrReturn
Estructura ADDRESS que especifica la dirección de retorno.
AddrFrame
Estructura ADDRESS que especifica el puntero de marco.
x86: El puntero de marco es EBP.
Intel Itanium: No hay ningún puntero de marco, pero se usa AddrBStore .
x64: El puntero de marco es RBP o RDI. Este valor no siempre se usa.
AddrStack
Estructura ADDRESS que especifica el puntero de pila.
x86: El puntero de pila es ESP.
Intel Itanium: El puntero de pila es SP.
x64: El puntero de pila es RSP.
FuncTableEntry
En equipos x86, este miembro es una estructura FPO_DATA . Si no hay ninguna entrada de tabla de funciones, este miembro es NULL.
Params[4]
Los posibles argumentos de la función.
Far
Este miembro es TRUE si se trata de una llamada lejana wow.
Virtual
Este miembro es TRUE si se trata de un marco virtual.
Reserved[3]
La función StackWalk usa internamente este miembro.
KdHelp
Estructura KDHELP que especifica datos auxiliares para los fotogramas de devolución de llamada del kernel.
AddrBStore
Intel Itanium: Estructura ADDRESS que especifica el almacén de respaldo (RsBSP).
Comentarios
Esta estructura sustituye a la estructura STACKFRAME . Para obtener más información, consulte Compatibilidad con la plataforma actualizada. STACKFRAME se define como se indica a continuación en 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
Requisitos
Requisito | Valor |
---|---|
Header | dbghelp.h |
Redistribuible | DbgHelp.dll 5.1 o posterior |