Condividi tramite


Metodo ICorProfilerCallback::ExceptionCatcherEnter

Notifica al profiler che il controllo viene passato al blocco catch appropriato.

HRESULT ExceptionCatcherEnter(
    [in] FunctionID functionId,
    [in] ObjectID   objectId);

Parametri

  • functionId
    [in] Identificatore della funzione che contiene il blocco catch.

  • objectId
    [in] Identificatore dell'eccezione gestita.

Note

Il metodo ExceptionCatcherEnter viene chiamato solo se il punto di rilevamento si trova all'interno di codice compilato con il compilatore JIT (Just-In-Time). Un'eccezione rilevata nel codice non gestito o nel codice interno del runtime non chiamerà tale notifica. Il valore di objectId viene passato nuovamente, in quanto l'oggetto potrebbe essere stato spostato da una Garbage Collection dopo la notifica ExceptionThrown.

Il profiler non deve bloccarsi nell'implementazione di tale metodo perché lo stack potrebbe non trovarsi in uno stato che consente la Garbage Collection, pertanto la Garbage Collection di tipo preemptive non può essere attivata. Se il profiler si blocca a questo punto e viene tentata l'esecuzione della Garbage Collection, il runtime si bloccherà fino al completamento di tale callback.

L'implementazione di questo metodo da parte del profiler non deve chiamare codice gestito o causare in alcun modo un'allocazione di memoria gestita.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: CorProf.idl, CorProf.h

Libreria: CorGuids.lib

Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Vedere anche

Riferimenti

Interfaccia ICorProfilerCallback

Metodo ICorProfilerCallback::ExceptionCatcherLeave