共用方式為


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_REASON;

成員

成員

描述

COR_PRF_FIELD_SUSPEND_OTHER

由於未指定的原因而暫止執行階段。

COR_PRF_FIELD_SUSPEND_FOR_GC

暫止執行階段以服務記憶體回收要求。

會在 ICorProfilerCallback::RuntimeSuspendFinishedICorProfilerCallback::RuntimeResumeStarted 回呼之間發生與記憶體回收相關的回呼。

COR_PRF_FIELD_SUSPEND_FOR_APPDOMAIN_SHUTDOWN

暫止執行階段以便關閉 AppDomain

當暫止執行階段時,執行階段會判斷正在關閉的 AppDomain 中有哪些執行緒,而且會在它們繼續時將其設為中止。 在此暫止期間,沒有 AppDomain 特定的回呼。

COR_PRF_FIELD_SUSPEND_FOR_CODE_PITCHING

暫止執行階段以便發生程式碼字幅。

只有在 Just-In-Time (JIT) 編譯器作用中而且啟用程式碼字幅時,才會發生程式碼字幅。 程式碼字幅回呼會在 ICorProfilerCallback::RuntimeSuspendFinishedICorProfilerCallback::RuntimeResumeStarted 回呼之間發生。

注意事項注意事項
CLR JIT 不會設定 .NET Framework 2.0 版的函式字幅,所以在 2.0 版不使用這個值。

COR_PRF_FIELD_SUSPEND_FOR_SHUTDOWN

暫止執行階段以便關閉它。 它必須暫止所有執行緒,才能完成此作業。

COR_PRF_FIELD_SUSPEND_FOR_INPROC_DEBUGGER

為了同處理序偵錯而暫止執行階段。

COR_PRF_FIELD_SUSPEND_FOR_GC_PREP

暫止執行階段以準備記憶體回收。

備註

Unmanaged 程式碼中的所有執行階段執行緒都會被允許繼續執行,直到嘗試重新進入執行階段,此時,它們也會被暫止,直到執行階段繼續。 這也會套用至進入執行階段的新執行緒。 執行階段中的所有執行緒若是在可中斷的程式碼中會被立即暫止,若是執行到可中斷的程式碼時會被要求暫止。

需求

**平台:**請參閱 .NET Framework 系統需求

**標頭:**CorProf.idl、CorProf.h

**程式庫:**CorGuids.lib

**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0

請參閱

其他資源

分析列舉