Поделиться через


Метод ICorProfilerCallback::ExceptionCatcherEnter

Уведомляет профилировщик о том, что элемент управления передается в соответствующий catch блок.

Синтаксис

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

Параметры

functionId
[in] Идентификатор функции, содержащей catch блок .

objectId
[in] Идентификатор обрабатываемого исключения.

Комментарии

Метод ExceptionCatcherEnter вызывается только в том случае, если точка перехвата находится в коде, скомпилированном с помощью JIT-компилятора. Исключение, перехватывающееся в неуправляемом коде или во внутреннем коде среды выполнения, не вызывает это уведомление. Значение objectId передается снова, так как сборка мусора могла переместить объект с момента отправки ExceptionThrown уведомления.

Профилировщик не должен блокировать реализацию этого метода, так как стек может не находиться в состоянии, разрешающее сборку мусора, и поэтому упреждающую сборку мусора нельзя включить. Если профилировщик блокируется здесь и выполняется попытка сборки мусора, среда выполнения будет блокироваться до тех пор, пока этот обратный вызов не возвратится.

Реализация этого метода профилировщиком не должна вызывать управляемый код или каким-либо образом вызывать выделение управляемой памяти.

Требования

Платформы: см. раздел Требования к системе.

Заголовок: CorProf.idl, CorProf.h

Библиотека: CorGuids.lib

версии платформа .NET Framework: доступно с версии 2.0

См. также раздел