共用方式為


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::RuntimeSuspendFinishedICorProfilerCallback::RuntimeResumeStarted 回呼之間。
COR_PRF_SUSPEND_FOR_APPDOMAIN_SHUTDOWN 執行階段已暫止,以便關閉 AppDomain

當執行階段暫止時,執行階段會決定正在關閉 AppDomain 中的哪些執行緒,並在繼續時將其設定為中止。 在此暫止期間沒有 AppDomain 特定的回呼。
COR_PRF_SUSPEND_FOR_CODE_PITCHING 執行階段會暫止,以便進行程式碼釋放。

只有在 Just-In-Time (JIT) 編譯器啟用程式碼釋放的情況下,才會啟用程式碼釋放。 程式碼釋放回呼發生在 ICorProfilerCallback::RuntimeSuspendFinishedICorProfilerCallback::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 起可用

另請參閱