Метод 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