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

참고 항목

기타 리소스

디버깅 인터페이스

디버깅(관리되지 않는 API 참조)