COR_PRF_SUSPEND_REASON
更新:2007 年 11 月
指出暫止執行階段的原因。
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::RuntimeSuspendFinished 和 ICorProfilerCallback::RuntimeResumeStarted 回呼之間發生與記憶體回收相關的回呼。 |
||
COR_PRF_FIELD_SUSPEND_FOR_APPDOMAIN_SHUTDOWN |
暫止執行階段以便關閉 AppDomain。 當暫止執行階段時,執行階段會判斷正在關閉的 AppDomain 中有哪些執行緒,而且會在它們繼續時將其設為中止。在此暫止期間,沒有 AppDomain 特定的回呼。 |
||
COR_PRF_FIELD_SUSPEND_FOR_CODE_PITCHING |
暫止執行階段以便發生程式碼字幅。 只有在 Just-In-Time (JIT) 編譯器作用中而且啟用程式碼字幅時,才會發生程式碼字幅。程式碼字幅回呼會在 ICorProfilerCallback::RuntimeSuspendFinished 和 ICorProfilerCallback::RuntimeResumeStarted 回呼之間發生。
|
||
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
**程式庫:**CorGuids.lib
**.NET Framework 版本:**3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0