Bagikan melalui


COR_PRF_MONITOR Enumeration

Berisi nilai yang digunakan untuk menentukan perilaku, kemampuan, atau peristiwa yang ingin dijadikan langganan oleh profiler.

Sintaks

typedef enum {  
    COR_PRF_MONITOR_NONE                = 0x00000000,  
    COR_PRF_MONITOR_FUNCTION_UNLOADS    = 0x00000001,  
    COR_PRF_MONITOR_CLASS_LOADS         = 0x00000002,  
    COR_PRF_MONITOR_MODULE_LOADS        = 0x00000004,  
    COR_PRF_MONITOR_ASSEMBLY_LOADS      = 0x00000008,  
    COR_PRF_MONITOR_APPDOMAIN_LOADS     = 0x00000010,  
    COR_PRF_MONITOR_JIT_COMPILATION     = 0x00000020,  
    COR_PRF_MONITOR_EXCEPTIONS          = 0x00000040,  
    COR_PRF_MONITOR_GC                  = 0x00000080,  
    COR_PRF_MONITOR_OBJECT_ALLOCATED    = 0x00000100,  
    COR_PRF_MONITOR_THREADS             = 0x00000200,  
    COR_PRF_MONITOR_REMOTING            = 0x00000400,  
    COR_PRF_MONITOR_CODE_TRANSITIONS    = 0x00000800,  
    COR_PRF_MONITOR_ENTERLEAVE          = 0x00001000,  
    COR_PRF_MONITOR_CCW                 = 0x00002000,  
    COR_PRF_MONITOR_REMOTING_COOKIE     = 0x00004000 |
                                          COR_PRF_MONITOR_REMOTING,  
    COR_PRF_MONITOR_REMOTING_ASYNC      = 0x00008000 |
                                          COR_PRF_MONITOR_REMOTING,  
    COR_PRF_MONITOR_SUSPENDS            = 0x00010000,  
    COR_PRF_MONITOR_CACHE_SEARCHES      = 0x00020000,  
    COR_PRF_ENABLE_REJIT                = 0x00040000,  
    COR_PRF_ENABLE_INPROC_DEBUGGING     = 0x00080000,  
    COR_PRF_ENABLE_JIT_MAPS             = 0x00100000,  
    COR_PRF_DISABLE_INLINING            = 0x00200000,  
    COR_PRF_DISABLE_OPTIMIZATIONS       = 0x00400000,  
    COR_PRF_ENABLE_OBJECT_ALLOCATED     = 0x00800000,  
    COR_PRF_MONITOR_CLR_EXCEPTIONS      = 0x01000000,  
    COR_PRF_MONITOR_ALL                 = 0x0107FFFF,  
    COR_PRF_ENABLE_FUNCTION_ARGS        = 0X02000000,  
    COR_PRF_ENABLE_FUNCTION_RETVAL      = 0X04000000,  
    COR_PRF_ENABLE_FRAME_INFO           = 0X08000000,  
    COR_PRF_ENABLE_STACK_SNAPSHOT       = 0X10000000,  
    COR_PRF_USE_PROFILE_IMAGES          = 0x20000000,  
    COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST  
                                        = 0x40000000,  
    COR_PRF_DISABLE_ALL_NGEN_IMAGES     = 0x80000000,  
    COR_PRF_ALL                         = 0x8FFFFFFF,  
    COR_PRF_REQUIRE_PROFILE_IMAGE       = COR_PRF_USE_PROFILE_IMAGES |
                                          COR_PRF_MONITOR_CODE_TRANSITIONS |
                                          COR_PRF_MONITOR_ENTERLEAVE,  
    COR_PRF_ALLOWABLE_AFTER_ATTACH      = COR_PRF_MONITOR_THREADS |  
                                          COR_PRF_MONITOR_MODULE_LOADS |  
                                          COR_PRF_MONITOR_ASSEMBLY_LOADS |  
                                          COR_PRF_MONITOR_APPDOMAIN_LOADS |  
                                          COR_PRF_ENABLE_STACK_SNAPSHOT |  
                                          COR_PRF_MONITOR_GC |  
                                          COR_PRF_MONITOR_SUSPENDS |  
                                          COR_PRF_MONITOR_CLASS_LOADS |  
                                          COR_PRF_MONITOR_JIT_COMPILATION,  
    COR_PRF_MONITOR_IMMUTABLE           = COR_PRF_MONITOR_CODE_TRANSITIONS |  
                                          COR_PRF_MONITOR_REMOTING |  
                                          COR_PRF_MONITOR_REMOTING_COOKIE |  
                                          COR_PRF_MONITOR_REMOTING_ASYNC |  
                                          COR_PRF_ENABLE_REJIT |  
                                          COR_PRF_ENABLE_INPROC_DEBUGGING |  
                                          COR_PRF_ENABLE_JIT_MAPS |  
                                          COR_PRF_DISABLE_OPTIMIZATIONS |  
                                          COR_PRF_DISABLE_INLINING |  
                                          COR_PRF_ENABLE_OBJECT_ALLOCATED |  
                                          COR_PRF_ENABLE_FUNCTION_ARGS |  
                                          COR_PRF_ENABLE_FUNCTION_RETVAL |  
                                          COR_PRF_ENABLE_FRAME_INFO |  
                                          COR_PRF_USE_PROFILE_IMAGES |  
                     COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST |  
                                          COR_PRF_DISABLE_ALL_NGEN_IMAGES  
} COR_PRF_MONITOR;  

Anggota

Bagian berikut mencantumkan anggota enumerasi COR_PRF_MONITOR berdasarkan kategori. Kategorinya adalah:

Tidak ada bendera yang ditetapkan

Anggota Deskripsi
COR_PRF_MONITOR_NONE Tidak ada bendera yang ditetapkan.

Bendera panggilan balik

Anggota Deskripsi
COR_PRF_MONITOR_ALL Mengaktifkan semua peristiwa panggilan balik.
COR_PRF_MONITOR_APPDOMAIN_LOADS Mengontrol panggilan balik AppDomainCreation* dan AppDomainShutdown* di antarmuka ICorProfilerCallback.
COR_PRF_MONITOR_ASSEMBLY_LOADS Mengontrol panggilan balik AssemblyLoad* dan AssemblyUnload* di antarmuka ICorProfilerCallback.
COR_PRF_MONITOR_CACHE_SEARCHES Mengontrol panggilan balik JITCachedFunctionSearch* di antarmuka ICorProfilerCallback.

Perilaku bendera ini diubah dalam .NET Framework versi 2.0.
COR_PRF_MONITOR_CCW Mengontrol panggilan balik COMClassicVTable* di antarmuka ICorProfilerCallback.
COR_PRF_MONITOR_CLASS_LOADS Mengontrol panggilan balik ClassLoad* dan ClassUnload* di antarmuka ICorProfilerCallback.
COR_PRF_MONITOR_CLR_EXCEPTIONS Mengontrol panggilan balik ExceptionCLRCatcher* di antarmuka ICorProfilerCallback.
COR_PRF_MONITOR_CODE_TRANSITIONS Mengontrol panggilan balik UnmanagedToManagedTransition dan ManagedToUnmanagedTransition di antarmuka ICorProfilerCallback
COR_PRF_MONITOR_ENTERLEAVE Mengontrol FunctionEnter*,FunctionLeave*, dan FunctionTailCall*darifungsi statis global pembuatan profil.
COR_PRF_MONITOR_EXCEPTIONS Mengontrol panggilan balik ExceptionThrown dan panggilan balik ExceptionSearch*, ExceptionOSHandler*, ExceptionUnwind*, dan ExceptionCatcher* di antarmuka ICorProfilerCallback.
COR_PRF_MONITOR_FUNCTION_UNLOADS Mengontrol panggilan balik FunctionUnloadStarted di antarmuka ICorProfilerCallback.
COR_PRF_MONITOR_GC Mengontrol panggilan balik GarbageCollectionStarted, GarbageCollectionFinished, MovedReferences, MovedReferences2, SurvivingReferences, SurvivingReferences2, ObjectReferences, ObjectsAllocatedByClass, RootReferences, RootReferences2, HandleCreated, HandleDestroyed, dan FinalizeableObjectQueued di antarmuka ICorProfilerCallback*. Ketika COR_PRF_MONITOR_GC dialokasikan, pengumpulan sampah bersamaan dimatikan.
COR_PRF_MONITOR_JIT_COMPILATION Mengontrol panggilan balik JITCompilation*, JITFunctionPitched, dan JITInlining di antarmuka ICorProfilerCallback.
COR_PRF_MONITOR_MODULE_LOADS Mengontrol panggilan balik ModuleLoad*, ModuleUnload* dan ModuleAttachedToAssembly di antarmuka ICorProfilerCallback.
COR_PRF_MONITOR_OBJECT_ALLOCATED Mengontrol panggilan balik ObjectAllocated di antarmuka ICorProfilerCallback.
COR_PRF_MONITOR_REMOTING Mengontrol panggilan balik Remoting* di antarmuka ICorProfilerCallback.
COR_PRF_MONITOR_REMOTING_ASYNC Mengontrol apakah panggilan balik Remoting* akan memantau kejadian asinkron.
COR_PRF_MONITOR_REMOTING_COOKIE Mengontrol apakah cookie diteruskan ke panggilan balik Remoting*.
COR_PRF_MONITOR_SUSPENDS Mengontrol panggilan balik RuntimeSuspend*, RuntimeResume*, RuntimeThreadSuspended, dan RuntimeThreadResumed di antarmuka ICorProfilerCallback.
COR_PRF_MONITOR_THREADS Mengontrol panggilan balik ThreadCreated, ThreadDestroyed, ThreadAssignedToOSThread, dan ThreadNameChanged di antarmuka ICorProfilerCallback dan ICorProfilerCallback2.

Bendera yang mengaktifkan fitur

Anggota Deskripsi
COR_PRF_ENABLE_FRAME_INFO Aktifkan pengambilan ClassID yang tepat untuk fungsi generik dengan memanggil metode GetFunctionInfo2 dengan nilai COR_PRF_FRAME_INFO yang dikembalikan oleh panggilan balik FunctionEnter2.
COR_PRF_ENABLE_FUNCTION_ARGS Mengaktifkan pelacakan argumen menggunakan panggilan balik FunctionEnter2 atau panggilan balik FunctionEnter3WithInfo dan metode GetFunctionEnter3Info.
COR_PRF_ENABLE_FUNCTION_RETVAL Mengaktifkan nilai yang kembali menggunakan panggilan balik FunctionLeave2 atau panggilan balik FunctionLeave3WithInfo dan metode GetFunctionLeave3Info.
COR_PRF_ENABLE_INPROC_DEBUGGING Dihentikan.

Penelusuran kesalahan saat proses berjalan tidak didukung. Bendera ini tidak berpengaruh.
COR_PRF_ENABLE_JIT_MAPS Dihentikan.

Memungkinkan profiler untuk mendapatkan peta IL-to-native dengan menggunakan GetILToNativeMapping. Dimulai dengan .NET Framework 2.0, runtime selalu melacak peta IL-ke-asli; oleh karena itu, bendera ini selalu dianggap diatur.
COR_PRF_ENABLE_OBJECT_ALLOCATED Menginformasikan runtime bahasa umum bahwa profiler mungkin menginginkan pemberitahuan alokasi objek. Bendera ini harus ditetapkan selama inisialisasi. Ini memungkinkan profiler untuk kemudian menggunakan bendera COR_PRF_MONITOR_OBJECT_ALLOCATED untuk menerima panggilan balik ObjectAllocated.
COR_PRF_ENABLE_REJIT Memungkinkan panggilan ke metode RequestReJIT dan RequestRevert. Profiler harus menetapkan bendera ini pada startup. Jika profiler menentukan bendera ini, profiler juga harus menentukan COR_PRF_DISABLE_ALL_NGEN_IMAGES.
COR_PRF_ENABLE_STACK_SNAPSHOT Mengaktifkan panggilan ke metode DoStackSnapshot.

Bendera konfigurasi

Anggota Deskripsi
COR_PRF_DISABLE_ALL_NGEN_IMAGES Mencegah semua gambar asli (termasuk gambar yang disempurnakan profiler) dimuat. Jika bendera ini dan bendera COR_PRF_USE_PROFILE_IMAGES ditentukan, COR_PRF_DISABLE_ALL_NGEN_IMAGES digunakan.
COR_PRF_DISABLE_INLINING Menonaktifkan semua inlining.
COR_PRF_DISABLE_OPTIMIZATIONS Menonaktifkan semua pengoptimalan kode.
COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST Menonaktifkan pemeriksaan transparansi keamanan yang biasanya dilakukan selama kompilasi just-in-time (JIT) dan pemuatan kelas untuk assembly kepercayaan penuh. Hal ini dapat menjadikan beberapa instrumentasi lebih mudah dilakukan.
COR_PRF_USE_PROFILE_IMAGES Menyebabkan pencarian gambar asli mencari gambar yang disempurnakan profiler. Jika tidak ada gambar yang disempurnakan profiler yang ditemukan untuk assembly yang ditentukan, runtime bahasa umum melakukan fall back ke JIT untuk assembly tersebut. Jika bendera ini dan bendera COR_PRF_DISABLE_ALL_NGEN_IMAGES ditentukan, COR_PRF_DISABLE_ALL_NGEN_IMAGES digunakan.

Bendera komposit

Anggota Deskripsi
COR_PRF_ALL Mewakili semua nilai bendera COR_PRF_MONITOR.
COR_PRF_ALLOWABLE_AFTER_ATTACH Mewakili semua bendera COR_PRF_MONITOR yang dapat diatur setelah profiler dilampirkan ke aplikasi yang sedang berjalan. Bagian sintaks mengindikasikan bendera individu yang ada di bitmask ini.
COR_PRF_MONITOR_ALL Mengaktifkan semua peristiwa panggilan balik.
COR_PRF_MONITOR_IMMUTABLE Mewakili semua bendera COR_PRF_MONITOR yang hanya dapat diatur selama inisialisasi. Mencoba mengubah salah satu bendera ini setelah inisialisasi mengembalikan nilai HRESULT yang mengindikasikan kegagalan.
COR_PRF_REQUIRE_PROFILE_IMAGE Mewakili semua bendera COR_PRF_MONITOR yang memerlukan gambar yang disempurnakan profiler.

Keterangan

Nilai COR_PRF_MONITOR digunakan dengan metodeICorProfilerInfo::GetEventMask dan ICorProfilerInfo::SetEventMask untuk menentukan pemberitahuan peristiwa yang dilakukan runtime bahasa umum ke profiler.

Persyaratan

Platform: Lihat Persyaratan Sistem.

Header: CorProf.idl, CorProf.h

Pustaka: CorGuids.lib

Versi .NET Framework: Tersedia mulai dari versi 1.0

Lihat juga