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 |