Метод ICorProfilerCallback4::ReJITError
Уведомляет профилировщика о том, что JIT-компилятор обнаружил ошибку в процессе перекомпиляции.
Синтаксис
HRESULT ReJITError(
[in] ModuleID moduleId,
[in] mdMethodDef methodId,
[in] FunctionID functionId,
[in] HRESULT hrStatus);
Параметры
moduleID
[in] Объект ModuleID
, в котором была выполнена неудачная попытка перекомпиляции.
methodId
[in] Объект MethodDef
метода, для которого была выполнена неудачная попытка перекомпиляции.
functionId
[in] Экземпляр функции, который перекомпилируется или помечен для перекомпиляции. Это значение может иметь значение NULL
, если сбой произошел для каждого метода, а не для каждого экземпляра (например, если профилировщик указал недопустимый маркер метаданных для метода, который требуется перекомпилировать).
hrStatus
[in] HRESULT, указывающий характер сбоя. Список значений см. в разделе Состояние HRESULTS.
Возвращаемое значение
Значения, возвращаемые из этого обратного вызова, игнорируются.
Значения HRESULT для состояния
Массив значений HRESULT для состояния | Описание |
---|---|
E_INVALIDARG | Маркер moduleID или methodDef имеет значение NULL . |
CORPROF_E_DATAINCOMPLETE | Модуль еще не полностью загружен или находится в процессе выгрузки. |
CORPROF_E_MODULE_IS_DYNAMIC | Указанный модуль был динамически создан (например, с помощью Reflection.Emit ), и, следовательно, не поддерживается этим методом. |
CORPROF_E_FUNCTION_IS_COLLECTIBLE | Экземпляр метода создается в сборную сборку и поэтому не может быть перекомпилирован. Обратите внимание, что типы и функции, определенные в контексте, не являющемся отражением (например, List<MyCollectibleStruct> ), могут создаваться в сборную сборку. |
E_OUTOFMEMORY | В среде CLR не хватает памяти при попытке пометить указанный метод для JIT-перекомпиляции. |
Другое | Операционная система возвратила сбой за пределами среды CLR. Например, если системный вызов для изменения защиты доступа к странице памяти завершается сбоем, отображается ошибка операционной системы. |
Требования
Платформы: см. раздел Требования к системе.
Заголовок: CorProf.idl, CorProf.h
Библиотека: CorGuids.lib
версии платформа .NET Framework: доступно с версии 4.5