다음을 통해 공유


ICorDebugManagedCallback2::FunctionRemapOpportunity 메서드

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

Syntax

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] 이전 버전의 함수에 있는 명령 포인터의 CIL(공용 중간 언어) 오프셋입니다.

비고

이 콜백을 사용하면 디버거가 ICorDebugILFrame2::RemapFunction 메서드를 호출하여 지정된 함수의 새 버전에서 명령 포인터를 적절한 위치에 다시 매핑할 수 있습니다. ICorDebugController::Continue 메서드를 호출하기 전에 디버거가 호출 RemapFunction 하지 않으면 런타임은 이전 코드를 계속 실행하고 다음 시퀀스 지점에서 다른 FunctionRemapOpportunity 콜백을 실행합니다.

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

요구 사항

플랫폼:.NET 지원 운영 체제를 참조하세요.

머리글: CorDebug.idl, CorDebug.h

도서관: CorGuids.lib

.NET 버전: .NET Framework 2.0 이후 사용 가능

참고하십시오