Bagikan melalui


Struktur STACKFRAME (dbghelp.h)

Mewakili bingkai tumpukan.

Sintaks

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;

Anggota

AddrPC

Struktur ADDRESS yang menentukan penghitung program.

x86: Penghitung program adalah EIP.

Itanium Intel: Penghitung program adalah StIIP.

x64: Penghitung program adalah RIP.

AddrReturn

Struktur ADDRESS yang menentukan alamat pengirim.

AddrFrame

Struktur ADDRESS yang menentukan penunjuk bingkai.

x86: Penunjuk bingkai adalah EBP.

Itanium Intel: Tidak ada penunjuk bingkai, tetapi AddrBStore digunakan.

x64: Penunjuk bingkai adalah RBP atau RDI. Nilai ini tidak selalu digunakan.

AddrStack

Struktur ADDRESS yang menentukan penunjuk tumpukan.

x86: Penunjuk tumpukan adalah ESP.

Itanium Intel: Penunjuk tumpukan adalah SP.

x64: Penunjuk tumpukan adalah RSP.

FuncTableEntry

Pada komputer x86, anggota ini adalah struktur FPO_DATA . Jika tidak ada entri tabel fungsi, anggota ini adalah NULL.

Params[4]

Argumen yang mungkin untuk fungsi.

Far

Anggota ini TRUE jika ini adalah panggilan jauh WOW.

Virtual

Anggota ini TRUE jika ini adalah bingkai virtual.

Reserved[3]

Anggota ini digunakan secara internal oleh fungsi StackWalk .

KdHelp

Struktur KDHELP yang menentukan data pembantu untuk bingkai panggilan balik kernel berjalan.

AddrBStore

Itanium Intel: Struktur ADDRESS yang menentukan backing store (RsBSP).

Keterangan

Struktur ini menggantikan struktur STACKFRAME . Untuk informasi selengkapnya, lihat Dukungan Platform yang Diperbarui. STACKFRAME didefinisikan sebagai berikut dalam 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

Persyaratan

Persyaratan Nilai
Header dbghelp.h
Redistribusi DbgHelp.dll 5.1 atau yang lebih baru

Lihat juga

ALAMAT

FPO_DATA

IMAGE_FUNCTION_ENTRY

KDHELP

StackWalk