Struttura STACKFRAME (dbghelp.h)

Rappresenta uno stack frame.

Sintassi

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;

Members

AddrPC

Struttura ADDRESS che specifica il contatore del programma.

x86: Il contatore del programma è EIP.

Intel Itanium: Il contatore del programma è StIIP.

x64: Il contatore del programma è RIP.

AddrReturn

Struttura ADDRESS che specifica l'indirizzo restituito.

AddrFrame

Struttura ADDRESS che specifica il puntatore al frame.

x86: Il puntatore al frame è EBP.

Intel Itanium: Non è presente alcun puntatore al frame, ma viene usato AddrBStore .

x64: Il puntatore al fotogramma è RBP o RDI. Questo valore non viene sempre usato.

AddrStack

Struttura ADDRESS che specifica il puntatore allo stack.

x86: Il puntatore dello stack è ESP.

Intel Itanium: Il puntatore allo stack è SP.

x64: Il puntatore allo stack è RSP.

FuncTableEntry

Nei computer x86 questo membro è una struttura FPO_DATA . Se non è presente alcuna voce di tabella della funzione, questo membro è NULL.

Params[4]

Argomenti possibili per la funzione.

Far

Questo membro è TRUE se si tratta di una chiamata WOW lontano.

Virtual

Questo membro è TRUE se si tratta di un frame virtuale.

Reserved[3]

Questo membro viene usato internamente dalla funzione StackWalk .

KdHelp

Struttura KDHELP che specifica i dati helper per l'esplorazione dei fotogrammi di callback del kernel.

AddrBStore

Intel Itanium: Struttura ADDRESS che specifica l'archivio di backup (RsBSP).

Commenti

Questa struttura sostituisce la struttura STACKFRAME . Per altre informazioni, vedere Aggiornamento del supporto della piattaforma. STACKFRAME è definito come segue in 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

Requisiti

Requisito Valore
Intestazione dbghelp.h
Componente ridistribuibile DbgHelp.dll 5.1 o versione successiva

Vedi anche

INDIRIZZO

FPO_DATA

IMAGE_FUNCTION_ENTRY

KDHELP

StackWalk