Метод 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] Смещение общего промежуточного языка (CIL) указателя инструкции в старой версии функции.
Замечания
Этот обратный вызов дает отладчику возможность перенастраивать указатель инструкции на соответствующее место в новой версии указанной функции путем вызова метода ICorDebugILFrame2::RemapFunction . Если отладчик не вызывается RemapFunction
перед вызовом метода ICorDebugController::Continue , среда выполнения продолжит выполнять старый код и вызовет другой FunctionRemapOpportunity
обратный вызов в следующей точке последовательности.
Этот обратный вызов будет вызываться для каждого кадра, выполняющего старую версию данной функции, пока отладчик не вернет S_OK.
Требования
Платформы: см. раздел Требования к системе.
Заголовок: CorDebug.idl, CorDebug.h
Библиотека: CorGuids.lib
версии платформа .NET Framework: Доступно с версии 2.0