다음을 통해 공유


ICorDebugManagedCallback2::FunctionRemapOpportunity 메서드

코드 실행 단계가 이전 버전의 편집된 함수에서 시퀀스 위치에 도달했음을 디버거에 알립니다.

HRESULT FunctionRemapOpportunity (
    [in] ICorDebugAppDomain   *pAppDomain,
    [in] ICorDebugThread      *pThread,
    [in] ICorDebugFunction    *pOldFunction,
    [in] ICorDebugFunction    *pNewFunction,
    [in] ULONG32              oldILOffset
);

매개 변수

  • pAppDomain
    [in] 편집된 함수를 포함하는 응용 프로그램 도메인을 나타내는 ICorDebugAppDomain 개체에 대한 포인터입니다.

  • pThread
    [in] 다시 매핑 중단점이 발생한 스레드를 나타내는 ICorDebugThread 개체에 대한 포인터입니다.

  • pOldFunction
    [in] 스레드에서 현재 실행되고 있는 함수의 버전을 나타내는 ICorDebugFunction 개체에 대한 포인터입니다.

  • pNewFunction
    [in] 함수의 최신 버전을 나타내는 ICorDebugFunction 개체에 대한 포인터입니다.

  • oldILOffset
    [in] 함수의 이전 버전에 있는 명령 포인터의 MSIL(Microsoft Intermediate Language) 오프셋입니다.

설명

이 콜백은 디버거가 ICorDebugILFrame2::RemapFunction 메서드를 호출하여 지정한 함수의 새로운 버전에서 알맞은 위치에 명령 포인터를 다시 매핑할 수 있도록 합니다. 디버거에서 ICorDebugController::Continue 메서드를 호출하기 전에 RemapFunction을 호출하지 않으면 런타임에서는 이전 코드를 계속 실행하고 다음 시퀀스 위치에서 다른 FunctionRemapOpportunity 콜백을 발생시킵니다.

이 콜백은 디버거에서 S_OK를 반환할 때까지 이전 버전의 지정된 함수를 실행하는 모든 프레임에 대해 호출됩니다.

요구 사항

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

헤더: CorDebug.idl, CorDebug.h

라이브러리: CorGuids.lib

.NET Framework 버전: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

참고 항목

참조

ICorDebugManagedCallback2 인터페이스

ICorDebugManagedCallback 인터페이스