ICorDebugStackWalk::GetContext 메서드
ICorDebugStackWalk 개체의 현재 프레임에 대한 컨텍스트를 반환합니다.
HRESULT GetContext([in] ULONG32 contextFlags,
[in] ULONG32 contextBufSize,
[out] ULONG32* contextSize,
[out, size_is(contextBufSize)] BYTE contextBuf[]);
매개 변수
contextFlags
[in] 컨텍스트 버퍼의 요청된 콘텐츠를 나타내는 플래그로, WinNT.h에 정의되어 있습니다.contextBufSize
[in] 컨텍스트 버퍼의 할당된 크기입니다.contextSize
[out] 컨텍스트의 실제 크기입니다. 이 값은 컨텍스트 버퍼의 크기보다 작거나 같아야 합니다.contextBuf
[out] 컨텍스트 버퍼입니다.
반환 값
이 메서드는 메서드 오류를 나타내는 HRESULT 오류뿐만 아니라 다음과 같은 특정 HRESULT를 반환합니다.
HRESULT |
설명 |
---|---|
S_OK |
현재 프레임의 컨텍스트가 성공적으로 반환되었습니다. |
E_FAIL |
컨텍스트를 반환하지 못했습니다. |
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT BUFFER) |
컨텍스트 버퍼가 너무 작습니다. |
CORDBG_E_PAST_END_OF_STACK |
프레임 포인터가 이미 스택의 끝에 있으므로 추가 프레임에 액세스할 수 없습니다. |
설명
프레임을 해제하면 비volatile 레지스터 같은 레지스터의 하위 집합만 복원되므로 호출 시 컨텍스트가 레지스터 상태와 정확하게 일치하지 않을 수 있습니다.
요구 사항
플랫폼: .NET Framework 시스템 요구 사항 참조
헤더: CorDebug.idl, CorDebug.h
라이브러리: CorGuids.lib
.NET Framework 버전: 4