Compartir a través de


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

Consulte también

DIRECCIÓN

FPO_DATA

IMAGE_FUNCTION_ENTRY

KDHELP

StackWalk