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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk