Перечисление COR_PRF_SUSPEND_REASON
Указывает причину приостановки среды выполнения.
Синтаксис
typedef enum {
COR_PRF_SUSPEND_OTHER = 0x00,
COR_PRF_SUSPEND_FOR_GC = 0x01,
COR_PRF_SUSPEND_FOR_APPDOMAIN_SHUTDOWN = 0x02,
COR_PRF_SUSPEND_FOR_CODE_PITCHING = 0x03,
COR_PRF_SUSPEND_FOR_SHUTDOWN = 0x04,
COR_PRF_SUSPEND_FOR_INPROC_DEBUGGER = 0x06,
COR_PRF_SUSPEND_FOR_GC_PREP = 0x07, COR_PRF_SUSPEND_FOR_REJIT = 8
} COR_PRF_SUSPEND_REASON;
Элементы
Член | Описание |
---|---|
COR_PRF_SUSPEND_OTHER |
Среда выполнения приостанавливается по неуказанным причинам. |
COR_PRF_SUSPEND_FOR_GC |
Среда выполнения приостанавливается для обслуживания запроса на сборку мусора. Обратные вызовы, связанные с сборкой мусора, выполняются между обратными вызовами ICorProfilerCallback::RuntimeSuspendFinished и ICorProfilerCallback::RuntimeResumeStarted . |
COR_PRF_SUSPEND_FOR_APPDOMAIN_SHUTDOWN |
Среда выполнения приостанавливается, AppDomain чтобы можно было завершить работу.Пока среда выполнения приостановлена, среда выполнения определяет, какие потоки находятся в завершаемом AppDomain объекте, и устанавливает их прерывание при возобновлении. Во время этой приостановки отсутствуют AppDomain обратные вызовы, относящиеся к конкретному объекту. |
COR_PRF_SUSPEND_FOR_CODE_PITCHING |
Среда выполнения приостанавливается для разбиения кода. Питчирование кода происходит только в том случае, если JIT-компилятор активен с включенным питчингом кода. Обратные вызовы питчинга кода происходят между обратными ICorProfilerCallback::RuntimeSuspendFinished вызовами и ICorProfilerCallback::RuntimeResumeStarted . Примечание: JIT-файл CLR не выполняет функции шагов в платформа .NET Framework версии 2.0, поэтому это значение не используется в версии 2.0. |
COR_PRF_SUSPEND_FOR_SHUTDOWN |
Среда выполнения приостанавливается, чтобы ее можно было завершить. Для завершения операции необходимо приостановить все потоки. |
COR_PRF_SUSPEND_FOR_INPROC_DEBUGGER |
Среда выполнения приостанавливается для внутрипроцессной отладки. |
COR_PRF_SUSPEND_FOR_GC_PREP |
Среда выполнения приостанавливается для подготовки к сборке мусора. |
COR_PRF_SUSPEND_FOR_REJIT |
Среда выполнения приостанавливается для JIT-перекомпиляции. |
Комментарии
Всем потокам среды выполнения, которые находятся в неуправляемом коде, разрешено продолжать работу до тех пор, пока они не попытаются повторно войти в среду выполнения. После этого они также будут приостановлены до возобновления выполнения. Это также относится к новым потокам, которые входят в среду выполнения. Все потоки в среде выполнения либо приостанавливаются немедленно, если они находятся в прерваемом коде, либо запрашиваются о приостановке, когда они достигают прерываемого кода.
Требования
Платформы: см. раздел Требования к системе.
Заголовок: CorProf.idl, CorProf.h
Библиотека: CorGuids.lib
платформа .NET Framework версии: доступно с версии 1.0.