Bagikan melalui


Antarmuka ICorProfilerCallback

Menyediakan metode yang digunakan oleh runtime bahasa umum (CLR) untuk memberi tahu profiler kode saat peristiwa yang menjadi langganan profiler terjadi.

Metode

Metode Deskripsi
Metode AppDomainCreationFinished Memberi tahu profiler bahwa domain aplikasi telah dibuat.
Metode AppDomainCreationStarted Memberi tahu profiler bahwa domain aplikasi sedang dibuat.
Metode AppDomainShutdownFinished Memberi tahu profiler bahwa domain aplikasi telah dibongkar dari suatu proses.
Metode AppDomainShutdownStarted Memberi tahu profiler bahwa domain aplikasi sedang dibongkar dari suatu proses.
Metode AssemblyLoadFinished Memberi tahu profiler bahwa rakitan telah selesai dimuat.
Metode AssemblyLoadStarted Memberi tahu profiler bahwa perakitan sedang dimuat.
Metode AssemblyUnloadFinished Memberi tahu profiler bahwa rakitan telah dibongkar.
Metode AssemblyUnloadStarted Memberi tahu profiler bahwa rakitan sedang dibongkar.
Metode ClassLoadFinished Memberi tahu profiler bahwa kelas sudah selesai dimuat.
Metode ClassLoadStarted Memberi tahu profiler bahwa kelas sedang dimuat.
Metode ClassUnloadFinished Memberi tahu profiler bahwa kelas telah selesai dibongkar.
Metode ClassUnloadStarted Memberi tahu profiler bahwa kelas sedang dibongkar.
Metode COMClassicVTableCreated Memberi tahu profiler bahwa pembungkus yang dapat dipanggil runtime (RCW) untuk IID dan kelas yang ditentukan telah dibuat.
Metode COMClassicVTableDestroyed Memberi tahu profiler bahwa RCW sedang dihancurkan.
Metode ExceptionCatcherEnter Memberi tahu profiler bahwa kontrol sedang diteruskan ke blok catch yang sesuai.
Metode ExceptionCatcherLeave Memberi tahu profiler bahwa kontrol sedang diteruskan dari blok catch yang sesuai.
Metode ExceptionCLRCatcherExecute Usang dalam .NET Framework versi 2.0.
Metode ExceptionCLRCatcherFound Tidak Terpakai di .NET Framework 2.0.
Metode ExceptionOSHandlerEnter Tidak diterapkan. Profiler yang membutuhkan informasi pengecualian yang tidak dikelola harus mendapatkan informasi ini melalui cara lain.
Metode ExceptionOSHandlerLeave Tidak diterapkan. Profiler yang membutuhkan informasi pengecualian yang tidak dikelola harus mendapatkan informasi ini melalui cara lain.
Metode ExceptionSearchCatcherFound Memberi tahu profiler bahwa fase pencarian dari penanganan pengecualian telah menemukan penangan untuk pengecualian yang dikeluarkan.
Metode ExceptionSearchFilterEnter Memberi tahu profiler bahwa filter pengguna sedang dijalankan.
Metode ExceptionSearchFilterLeave Memberi tahu profiler bahwa filter pengguna baru saja selesai dijalankan.
Metode ExceptionSearchFunctionEnter Memberi tahu profiler bahwa fase pencarian dari penanganan pengecualian telah memasuki fungsi.
Metode ExceptionSearchFunctionLeave Memberi tahu profiler bahwa fase pencarian dari penanganan pengecualian telah selesai mencari fungsi.
Metode ExceptionThrown Memberi tahu profiler bahwa pengecualian telah dikeluarkan.
Metode ExceptionUnwindFinallyEnter Memberi tahu profiler bahwa fase pelepasan dari penanganan pengecualian memasukkan klausa finally yang terkandung dalam fungsi yang ditentukan.
Metode ExceptionUnwindFinallyLeave Memberi tahu profiler bahwa fase pelepasan dari penanganan pengecualian telah meninggalkan klausa finally.
Metode ExceptionUnwindFunctionEnter Memberi tahu profiler bahwa fase pelepasan dari penanganan pengecualian telah memasuki fungsi.
Metode ExceptionUnwindFunctionLeave Memberi tahu profiler bahwa fase pelepasan dari penanganan pengecualian telah selesai melepaskan fungsi.
Metode FunctionUnloadStarted Memberi tahu profiler bahwa runtime telah mulai membongkar fungsi.
Metode Inisialisasi Dipanggil untuk menginisialisasi profiler setiap kali aplikasi CLR baru dimulai.
Metode JITCachedFunctionSearchFinished Memberi tahu profiler bahwa pencarian telah selesai untuk fungsi yang dikompilasi sebelumnya menggunakan NGen.exe.
Metode JITCachedFunctionSearchStarted Memberi tahu profiler bahwa pencarian telah dimulai untuk fungsi yang dikompilasi sebelumnya menggunakan NGen.exe.
Metode JITCompilationFinished Memberi tahu profiler bahwa pengompilasi JIT telah selesai mengompilasi fungsi.
Metode JITCompilationStarted Memberi tahu profiler bahwa pengompilasi just-in-time (JIT) sudah mulai mengompilasi fungsi.
Metode JITFunctionPitched Memberi tahu profiler bahwa fungsi yang telah dikompilasi JIT telah dihapus dari memori.
Metode JITInlining Memberi tahu profiler bahwa pengompilasi JIT akan menyisipkan fungsi yang sejalan dengan fungsi lain.
Metode ManagedToUnmanagedTransition Memberi tahu profiler bahwa transisi dari kode terkelola ke kode yang tidak dikelola telah terjadi.
Metode ModuleAttachedToAssembly Memberi tahu profiler bahwa modul sedang dilampirkan ke rakitan induknya.
Metode ModuleLoadFinished Memberi tahu profiler bahwa modul telah selesai memuat.
Metode ModuleLoadStarted Memberi tahu profiler bahwa modul sedang dimuat.
Metode ModuleUnloadFinished Memberi tahu profiler bahwa modul telah selesai membongkar.
Metode ModuleUnloadStarted Memberi tahu profiler bahwa modul sedang dibongkar.
Metode MovedReferences Memberi tahu profiler tentang referensi objek yang dipindahkan selama pengumpulan sampah.
Metode ObjectAllocated Memberi tahu profiler bahwa memori dalam timbunan telah dialokasikan untuk suatu objek.
Metode ObjectReferences Memberi tahu profiler tentang objek dalam memori yang direferensikan oleh objek yang ditentukan.
Metode ObjectsAllocatedByClass Memberi tahu profiler tentang jumlah instans dari setiap kelas tertentu yang telah dibuat sejak pengumpulan sampah sebelumnya.
Metode RemotingClientInvocationFinished Memberi tahu profiler bahwa panggilan jarak jauh telah berjalan hingga selesai pada klien.
Metode RemotingClientInvocationStarted Memberi tahu profiler bahwa panggilan jarak jauh telah dimulai.
Metode RemotingClientReceivingReply Memberi tahu profiler bahwa bagian sisi server dari panggilan jarak jauh telah selesai dan klien sekarang menerima, serta akan memproses balasan.
Metode RemotingClientSendingMessage Memberi tahu profiler bahwa klien mengirim permintaan ke server.
Metode RemotingServerInvocationReturned Memberi tahu profiler bahwa proses telah selesai memanggil metode sebagai tanggapan atas permintaan pemanggilan metode jarak jauh.
Metode RemotingServerInvocationStarted Memberi tahu profiler bahwa proses tersebut memanggil metode sebagai respons terhadap permintaan pemanggilan metode jarak jauh.
Metode RemotingServerReceivingMessage Memberi tahu profiler bahwa proses menerima pemanggilan metode jarak jauh atau permintaan aktivasi.
Metode RemotingServerSendingReply Memberi tahu profiler bahwa proses telah selesai memproses permintaan pemanggilan metode jarak jauh dan akan mengirimkan balasan melalui saluran.
Metode RootReferences Memberi tahu profiler dengan informasi tentang referensi akar setelah pengumpulan sampah.
Metode RuntimeResumeFinished Memberi tahu profiler bahwa runtime telah melanjutkan semua utas runtime dan telah dikembalikan pada operasi normal.
Metode RuntimeResumeStarted Memberi tahu profiler bahwa runtime melanjutkan semua utas run-time.
Metode RuntimeSuspendAborted Memberi tahu profiler bahwa runtime telah membatalkan penangguhan run-time yang terjadi.
Metode RuntimeSuspendFinished Memberi tahu profiler bahwa runtime telah menyelesaikan penangguhan semua utas run-time.
Metode RuntimeSuspendStarted Memberi tahu profiler bahwa runtime akan menangguhkan semua utas run-time.
Metode RuntimeThreadResumed Memberi tahu profiler bahwa utas yang ditentukan telah dilanjutkan setelah ditangguhkan.
Metode RuntimeThreadSuspended Memberi tahu profiler bahwa utas yang ditentukan telah, atau akan, ditangguhkan.
Metode Matikan Memberi tahu profiler bahwa aplikasi dimatikan.
Metode ThreadAssignedToOSThread Memberi tahu profiler bahwa utas terkelola sedang diterapkan menggunakan utas sistem operasi (OS) tertentu.
Metode ThreadCreated Memberi tahu profiler bahwa utas telah dibuat.
Metode ThreadDestroyed Memberi tahu profiler bahwa utas telah dihancurkan.
Metode UnmanagedToManagedTransition Memberi tahu profiler bahwa transisi dari kode yang tidak dikelola ke kode terkelola telah terjadi.

Keterangan

CLR memanggil metode di antarmuka ICorProfilerCallback (atau ICorProfilerCallback2) untuk memberi tahu profiler saat suatu peristiwa, yang menjadi langganan profiler, terjadi. Ini adalah antarmuka panggilan balik utama di mana CLR berkomunikasi dengan profiler kode.

Profiler kode harus menerapkan metode dari antarmuka ICorProfilerCallback. Untuk .NET Framework versi 2.0 atau yang lebih baru, profiler juga harus menerapkan metode ICorProfilerCallback2. Setiap penerapan metode harus menampilkan HRESULT yang memiliki nilai S_OK pada keberhasilan atau E_FAIL pada kegagalan. Saat ini, CLR mengabaikan HRESULT yang ditampilkan oleh setiap panggilan balik kecuali ICorProfilerCallback::ObjectReferences.

Dalam registri Microsoft Windows, profiler kode harus mendaftarkan objek Model Objek Komponen (COM) yang menerapkan antarmuka ICorProfilerCallback dan ICorProfilerCallback2. Seorang profiler kode berlangganan peristiwa yang ingin menerima pemberitahuan dengan memanggil ICorProfilerInfo::SetEventMask. Ini biasanya dilakukan dalam penerapan ICorProfilerCallback::Initialize oleh profiler. Profiler kemudian dapat menerima pemberitahuan dari runtime saat suatu peristiwa akan terjadi atau baru saja terjadi dalam proses runtime yang sedang dijalankan.

Catatan

Profiler mendaftarkan satu objek COM. Jika profiler menargetkan .NET Framework versi 1.0 atau 1.1, objek COM tersebut hanya perlu menerapkan metode ICorProfilerCallback. Jika profiler menargetkan .NET Framework versi 2.0 atau yang lebih baru, objek COM tersebut juga harus menerapkan metode ICorProfilerCallback2.

Persyaratan

Platform: Lihat Persyaratan Sistem.

Header: CorProf.idl, CorProf.h

Pustaka: CorGuids.lib

Versi .NET Framework: Tersedia mulai dari versi 1.0

Lihat juga