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