Metodo ICorDebugManagedCallback2::FunctionRemapOpportunity
Notifica al debugger che l'esecuzione del codice ha raggiunto un punto di sequenza in una versione precedente di una funzione modificata.
HRESULT FunctionRemapOpportunity (
[in] ICorDebugAppDomain *pAppDomain,
[in] ICorDebugThread *pThread,
[in] ICorDebugFunction *pOldFunction,
[in] ICorDebugFunction *pNewFunction,
[in] ULONG32 oldILOffset
);
Parametri
pAppDomain
[in] Puntatore a un oggetto ICorDebugAppDomain che rappresenta il dominio dell'applicazione contenente la funzione modificata.pThread
[in] Puntatore a un oggetto ICorDebugThread che rappresenta il thread sul quale è stato rilevato il punto di interruzione della modifica del mapping.pOldFunction
[in] Puntatore a un oggetto ICorDebugFunction che rappresenta la versione della funzione attualmente in esecuzione sul thread.pNewFunction
[in] Puntatore a un oggetto ICorDebugFunction che rappresenta la versione più recente della funzione.oldILOffset
[in] Offset di Microsoft Intermediate Language (MSIL) del puntatore all'istruzione nella versione precedente della funzione.
Note
Questo callback consente al debugger di modificare il mapping del puntatore all'istruzione alla posizione corretta nella nuova versione della funzione specificata chiamando il metodoICorDebugILFrame2::RemapFunction. Se il debugger non chiama RemapFunction prima di chiamare il metodo ICorDebugController::Continue, il runtime continuerà a eseguire il codice obsoleto e genererà un altro callback FunctionRemapOpportunity al successivo punto di sequenza.
Questo callback verrà richiamato per ogni frame che esegue una versione precedente della funzione fornita finché il debugger non restituisce S_OK.
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: CorDebug.idl, CorDebug.h
Libreria: CorGuids.lib
Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0