Bagikan melalui


Enumerasi COR_PRF_SUSPEND_REASON

Menunjukkan alasan runtime ditangguhkan.

Sintaks

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;  

Anggota

Anggota Deskripsi
COR_PRF_SUSPEND_OTHER Runtime ditangguhkan karena alasan yang tidak ditentukan.
COR_PRF_SUSPEND_FOR_GC Runtime ditangguhkan untuk melayani permintaan pengumpulan sampah.

Panggilan balik terkait pengumpulan sampah terjadi antara panggilan balik ICorProfilerCallback::RuntimeSuspendFinished dan ICorProfilerCallback::RuntimeResumeStarted.
COR_PRF_SUSPEND_FOR_APPDOMAIN_SHUTDOWN Runtime ditangguhkan sehingga AppDomain dapat dimatikan.

Saat runtime ditangguhkan, runtime akan menentukan utas dalam AppDomain mana yang sedang dimatikan dan mengaturnya untuk dibatalkan saat dilanjutkan. Tidak ada panggilan balik khusus AppDomain selama penangguhan ini.
COR_PRF_SUSPEND_FOR_CODE_PITCHING Runtime ditangguhkan sehingga pitching kode dapat terjadi.

Pitching kode terjadi hanya ketika pengompilasi just-in-time (JIT) aktif dengan pitching kode diaktifkan. Panggilan balik pitching kode terjadi antara panggilan balik ICorProfilerCallback::RuntimeSuspendFinished dan ICorProfilerCallback::RuntimeResumeStarted. Catatan: CLR JIT tidak melempar fungsi dalam .NET Framework versi 2.0, sehingga nilai ini tidak digunakan dalam 2.0.
COR_PRF_SUSPEND_FOR_SHUTDOWN Runtime ditangguhkan sehingga dapat dimatikan. Ia harus menangguhkan semua utas untuk menyelesaikan operasi.
COR_PRF_SUSPEND_FOR_INPROC_DEBUGGER Runtime ditangguhkan untuk penelusuran kesalahan dalam proses.
COR_PRF_SUSPEND_FOR_GC_PREP Runtime ditangguhkan untuk mempersiapkan pengumpulan sampah.
COR_PRF_SUSPEND_FOR_REJIT Runtime ditangguhkan untuk rekompilasi JIT.

Keterangan

Semua utas runtime yang berada dalam kode tak terkelola diizinkan untuk terus berjalan sampai mereka mencoba memasukkan kembali runtime, di titik tempat mereka juga akan ditangguhkan sampai runtime dilanjutkan. Ini juga berlaku untuk utas baru yang memasuki runtime. Semua utas dalam runtime segera ditangguhkan jika berada dalam kode yang dapat diinterupsi, atau diminta untuk menangguhkan ketika mereka mencapai kode yang dapat diinterupsi.

Persyaratan

Platform: Lihat Persyaratan Sistem.

Header: CorProf.idl, CorProf.h

Pustaka: CorGuids.lib

Versi .NET Framework: Tersedia mulai dari versi 1.0

Lihat juga