Freigeben über


ICorProfilerCallback::ExceptionCatcherEnter-Methode

Aktualisiert: November 2007

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

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 behandelten Ausnahme.

Hinweise

Die ExceptionCatcherEnter-Methode wird nur aufgerufen, wenn der Auffangpunkt sich in Code befindet, der mit dem JIT-Compiler kompiliert wurde. Eine Ausnahme, die in nicht verwaltetem Code oder im internen Code der Laufzeit gefunden wird, ruft diese Benachrichtigung nicht auf. Der objectId-Wert wird wieder übergeben, da die Möglichkeit besteht, dass eine Garbage Collection das Objekt seit der ExceptionThrown-Benachrichtigung verschoben hat.

Der Profiler sollte bei der Implementierung dieser Methode nicht blockieren, da der Zustand des Stapels möglicherweise keine Garbage Collection zulässt und deshalb die präemptive Garbage Collection nicht aktiviert werden kann. Wenn der Profiler an dieser Stelle blockiert und eine Garbage Collection versucht wird, ist die Laufzeit blockiert, bis dieser Rückruf zurückgegeben wird.

Bei der Implementierung dieser Methode durch den Profiler sollte kein verwalteter Code aufgerufen und auch kein verwalteter Speicher reserviert werden.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: CorProf.idl

Bibliothek: CorGuids.lib

.NET Framework-Versionen: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Siehe auch

Referenz

ICorProfilerCallback-Schnittstelle

ICorProfilerCallback::ExceptionCatcherLeave-Methode