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.
Sintassi
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 applicazione contenente la funzione modificata.
pThread
[in] Puntatore a un oggetto ICorDebugThread che rappresenta il thread in cui è stato rilevato il punto di interruzione del mapping.
pOldFunction
[in] Puntatore a un oggetto ICorDebugFunction che rappresenta la versione della funzione attualmente in esecuzione nel thread.
pNewFunction
[in] Puntatore a un oggetto ICorDebugFunction che rappresenta la versione più recente della funzione.
oldILOffset
[in] Offset CIL (Common Intermediate Language) del puntatore all'istruzione nella versione precedente della funzione.
Osservazioni:
Questo callback consente al debugger di eseguire nuovamente il mapping del puntatore dell'istruzione alla posizione corretta nella nuova versione della funzione specificata chiamando il metodo ICorDebugILFrame2::RemapFunction . Se il debugger non chiama prima di chiamare RemapFunction
il metodo ICorDebugController::Continue , il runtime continuerà a eseguire il codice precedente e attiverà un altro FunctionRemapOpportunity
callback al punto di sequenza successivo.
Questo callback verrà richiamato per ogni fotogramma che esegue una versione precedente della funzione specificata fino a quando il debugger non restituisce S_OK.
Requisiti
Piattaforme: vedere Requisiti di sistema.
Intestazione: CorDebug.idl, CorDebug.h
Libreria: CorGuids.lib
Versioni di .NET Framework: disponibili dalla versione 2.0