ICorDebugManagedCallback2::FunctionRemapOpportunity 메서드
코드 실행이 편집된 함수의 이전 버전에서 시퀀스 지점에 도달했음을 디버거에 알립니다.
구문
HRESULT FunctionRemapOpportunity (
[in] ICorDebugAppDomain *pAppDomain,
[in] ICorDebugThread *pThread,
[in] ICorDebugFunction *pOldFunction,
[in] ICorDebugFunction *pNewFunction,
[in] ULONG32 oldILOffset
);
매개 변수
pAppDomain
[in] 편집된 함수를 포함하는 애플리케이션을 나타내는 ICorDebugAppDo기본 개체에 대한 포인터기본.
pThread
[in] 다시 매핑 중단점이 발생한 스레드를 나타내는 ICorDebugThread 개체에 대한 포인터입니다.
pOldFunction
[in] 현재 스레드에서 실행 중인 함수의 버전을 나타내는 ICorDebugFunction 개체에 대한 포인터입니다.
pNewFunction
[in] 함수의 최신 버전을 나타내는 ICorDebugFunction 개체에 대한 포인터입니다.
oldILOffset
[in] 이전 버전의 함수에 있는 명령 포인터의 CIL(공용 중간 언어) 오프셋입니다.
설명
이 콜백은 ICorDebugILFrame2::RemapFunction 메서드를 호출하여 지정된 함수의 새 버전에서 명령 포인터를 적절한 위치에 다시 매핑할 수 있는 기회를 디버거에 제공합니다. 디버거가 ICorDebugController::Continue 메서드를 호출하기 전에 RemapFunction
을 호출하지 않으면 런타임은 이전 코드를 계속 실행하고 다음 시퀀스 지점에서 다른 FunctionRemapOpportunity
콜백을 실행합니다.
이 콜백은 디버거가 S_OK를 반환할 때까지 지정된 함수의 이전 버전을 실행하는 모든 프레임에 대해 호출됩니다.
요구 사항
플랫폼:시스템 요구 사항을 참조하세요.
헤더: CorDebug.idl, CorDebug.h
라이브러리: CorGuids.lib
.NET Framework 버전: 2.0부터 사용 가능
참고 항목
.NET