다음을 통해 공유


ICorDebugStackWalk::SetContext 메서드

ICorDebugStackWalk 개체의 현재 컨텍스트를 스레드에 대한 유효한 컨텍스트로 설정합니다.

HRESULT SetContext([in] CorDebugSetContextFlag flag,
                   [in] ULONG32 contextSize,
                   [in, size_is(contextSize)] BYTE context[]);

매개 변수

  • flag
    [in] 컨텍스트가 스택의 활성 프레임에서 가져온 것인지 아니면 스택을 해제하여 얻은 것인지 여부를 나타내는 CorDebugSetContextFlag 플래그입니다.

  • contextSize
    [in] CONTEXT 버퍼의 할당된 크기입니다.

  • context
    [in] CONTEXT 버퍼입니다.

반환 값

이 메서드는 메서드 오류를 나타내는 HRESULT 오류뿐만 아니라 다음과 같은 특정 HRESULT를 반환합니다.

HRESULT

설명

S_OK

ICorDebugStackWalk 개체의 컨텍스트가 성공적으로 설정되었습니다.

E_FAIL

ICorDebugStackWalk 개체의 컨텍스트가 설정되지 않았습니다.

E_INVALIDARG

컨텍스트가 null입니다.

HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)

컨텍스트 버퍼가 너무 작습니다.

설명

이 메서드는 스레드의 현재 컨텍스트를 변경하지 않습니다.

현재 컨텍스트를 유효하지 않은 컨텍스트로 설정하면 스택 워커에서 예기치 않은 결과가 발생할 수 있습니다.

ICorDebugStackWalk::GetContext 메서드를 즉시 호출하여 이 컨텍스트의 정확한 비트 복사본을 가져올 수 있습니다.

요구 사항

플랫폼: .NET Framework 시스템 요구 사항 참조

헤더: CorDebug.idl, CorDebug.h

라이브러리: CorGuids.lib

.NET Framework 버전: 4

참고 항목

기타 리소스

디버깅 인터페이스

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