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