다음을 통해 공유


STACKFRAME 구조체(dbghelp.h)

스택 프레임을 나타냅니다.

구문

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;

멤버

AddrPC

프로그램 카운터를 지정하는 ADDRESS 구조체입니다.

x86: 프로그램 카운터는 EIP입니다.

Intel Itanium: 프로그램 카운터는 StIIP입니다.

x64: 프로그램 카운터는 RIP입니다.

AddrReturn

반환 주소를 지정하는 ADDRESS 구조체입니다.

AddrFrame

프레임 포인터를 지정하는 ADDRESS 구조체입니다.

x86: 프레임 포인터는 EBP입니다.

Intel Itanium: 프레임 포인터는 없지만 AddrBStore 가 사용됩니다.

x64: 프레임 포인터는 RBP 또는 RDI입니다. 이 값이 항상 사용되는 것은 아닙니다.

AddrStack

스택 포인터를 지정하는 ADDRESS 구조체입니다.

x86: 스택 포인터가 ESP입니다.

Intel Itanium: 스택 포인터는 SP입니다.

x64: 스택 포인터는 RSP입니다.

FuncTableEntry

x86 컴퓨터에서 이 멤버는 FPO_DATA 구조체입니다. 함수 테이블 항목이 없으면 이 멤버는 NULL입니다.

Params[4]

함수에 대한 가능한 인수입니다.

Far

WOW 원거리 호출인 경우 이 멤버는 TRUE 입니다.

Virtual

가상 프레임인 경우 이 멤버는 TRUE 입니다.

Reserved[3]

이 멤버는 StackWalk 함수에서 내부적으로 사용됩니다.

KdHelp

커널 콜백 프레임을 걷는 도우미 데이터를 지정하는 KDHELP 구조체입니다.

AddrBStore

Intel Itanium: RsBSP(백업 저장소)를 지정하는 ADDRESS 구조체입니다.

설명

이 구조체는 STACKFRAME 구조체를 대체합니다. 자세한 내용은 업데이트된 플랫폼 지원을 참조하세요. STACKFRAME 은 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

요구 사항

요구 사항
헤더 dbghelp.h
재배포 가능 파일 DbgHelp.dll 5.1 이상

추가 정보

주소

FPO_DATA

IMAGE_FUNCTION_ENTRY

KDHELP

StackWalk