Teilen über


ICorProfilerCallback::ExceptionCatcherEnter-Methode

Benachrichtigt den Profiler, dass die Steuerung an den entsprechenden catch-Block übergeben wird.

Syntax

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

Parameter

functionId
[in] Der Bezeichner der Funktion, die den catch-Block enthält.

objectId
[in] Der Bezeichner der zu behandelnden Ausnahme.

Bemerkungen

Die ExceptionCatcherEnter-Methode wird nur aufgerufen, wenn sich der Abfangpunkt in Code befindet, der mit dem JIT-Compiler (Just-in-Time) kompiliert wird. Bei einer Ausnahme, die in nicht verwaltetem Code oder im internen Code der Runtime abgefangen wird, erfolgt kein Aufruf dieser Benachrichtigung. Der objectId-Wert wird erneut übergeben, weil eine Garbage Collection das Objekt seit der ExceptionThrown-Benachrichtigung verschoben haben könnte.

Der Profiler sollte in seiner Implementierung dieser Methode nicht blockiert werden, da sich der Stapel möglicherweise nicht in einem Zustand befindet, der die Garbage Collection zulässt, sodass die präemptive Garbage Collection nicht aktiviert werden kann. Wird der Profiler an dieser Stelle blockiert und die Garbage Collection versucht, wird die Runtime blockiert, bis dieser Rückruf zurückgegeben wird.

Die Profilerimplementierung dieser Methode sollte nicht in verwalteten Code aufgerufen werden oder in irgendeiner Weise zu einer Zuordnung mit verwaltetem Speicher führen.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: CorProf.idl, CorProf.h

Bibliothek: CorGuids.lib

.NET Framework-Versionen: Seit 2.0 verfügbar.

Siehe auch