Condividi tramite


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

Vedi anche