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


Перечисление 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.

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