영어로 읽기

다음을 통해 공유


STACKFRAME64 구조체(dbghelp.h)

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

구문

typedef struct _tagSTACKFRAME64 {
  ADDRESS64 AddrPC;
  ADDRESS64 AddrReturn;
  ADDRESS64 AddrFrame;
  ADDRESS64 AddrStack;
  ADDRESS64 AddrBStore;
  PVOID     FuncTableEntry;
  DWORD64   Params[4];
  BOOL      Far;
  BOOL      Virtual;
  DWORD64   Reserved[3];
  KDHELP64  KdHelp;
} STACKFRAME64, *LPSTACKFRAME64;

멤버

AddrPC

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

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

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

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

AddrReturn

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

AddrFrame

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

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

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

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

AddrStack

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

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

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

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

AddrBStore

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

FuncTableEntry

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

Params[4]

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

Far

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

Virtual

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

Reserved[3]

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

KdHelp

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

설명

이 구조체는 STACKFRAME 구조를 대체합니다. 자세한 내용은 업데이트된 플랫폼 지원을 참조하세요. STACKFRAME 은 Dbghelp.h에서 다음과 같이 정의됩니다.

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define STACKFRAME STACKFRAME64
#define LPSTACKFRAME LPSTACKFRAME64
#else
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;
#endif

요구 사항

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

추가 정보

ADDRESS64

FPO_DATA

IMAGE_FUNCTION_ENTRY

KDHELP64

StackWalk64