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;
成員
member | 描述 |
---|---|
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 |
執行階段會暫止,以便進行程式碼釋放。 只有在 Just-In-Time (JIT) 編譯器啟用程式碼釋放的情況下,才會啟用程式碼釋放。 程式碼釋放回呼發生在 ICorProfilerCallback::RuntimeSuspendFinished 和 ICorProfilerCallback::RuntimeResumeStarted 回呼之間。 注意:CLR JIT 不會在 .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 起可用