Peristiwa ETW Pemuat
Peristiwa ini mengumpulkan informasi yang berkaitan dengan pemuatan dan pembongkaran domain aplikasi, rakitan, dan modul.
Semua peristiwa pemuat dinaikkan berdasarkan kata kunci LoaderKeyword
(0x8). Peristiwa DCStart
dan DCEnd
dinaikkan berdasarkan LoaderRundownKeyword
(0x8) denganStartRundown
/EndRundown
diaktifkan. Untuk informasi selengkapnya, lihat Kata Kunci dan Tingkat ETW CLR.
Peristiwa Domain Aplikasi
Tabel berikut menunjukkan kata kunci dan level.
Kata kunci untuk meningkatkan peristiwa | Kejadian | Tingkat |
---|---|---|
LoaderKeyword (0x8) |
AppDomainLoad_V1 dan AppDomainUnLoad_V1 |
Informasional (4) |
LoaderRundownKeyword (0x8) +StartRundownKeyword |
AppDomainDCStart_V1 |
Informasional (4) |
LoaderRundownKeyword (0x8) +EndRundownKeyword |
AppDomainDCEnd_V1 |
Informasional (4) |
Tabel berikut menunjukkan informasi peristiwa.
Kejadian | ID Peristiwa | Deskripsi |
---|---|---|
AppDomainLoad_V1 (dicatat untuk semua domain aplikasi) |
156 | Dinaikkan setiap kali domain aplikasi dibuat selama masa pakai proses. |
AppDomainUnLoad_V1 |
157 | Dinaikkan setiap kali domain aplikasi dihancurkan selama masa pakai proses. |
AppDomainDCStart_V1 |
157 | Menghitung domain aplikasi selama rundown awal. |
AppDomainDCEnd_V1 |
158 | Menghitung domain aplikasi selama rundown akhir. |
Tabel berikut ini memperlihatkan data peristiwa.
Nama bidang | Jenis data | Deskripsi |
---|---|---|
AppDomainID | win:UInt64 | Pengidentifikasi unik untuk domain aplikasi. |
AppDomainFlags | win:UInt32 | 0x1: Domain default. 0x2: Dapat dieksekusi. 0x4: Domain aplikasi, bit 28-31: Kebijakan berbagi domain ini. 0: Domain bersama. |
AppDomainName | win:UnicodeString | Nama domain aplikasi yang mudah diingat. Mungkin berubah selama masa pakai proses. |
AppDomainIndex | Win:UInt32 | Indeks domain aplikasi ini. |
ClrInstanceID | win:UInt16 | ID unik untuk instans CLR atau CoreCLR. |
Peristiwa Rakitan Pemuat CLR
Tabel berikut menunjukkan kata kunci dan level.
Kata kunci untuk meningkatkan peristiwa | Kejadian | Tingkat |
---|---|---|
LoaderKeyword (0x8) |
AssemblyLoad dan AssemblyUnload |
Informasional (4) |
LoaderRundownKeyword (0x8) +StartRundownKeyword |
AssemblyDCStart |
Informasional (4) |
LoaderRundownKeyword (0x8) +EndRundownKeyword |
AssemblyDCEnd |
Informasional (4) |
Tabel berikut menunjukkan informasi peristiwa.
Kejadian | ID Peristiwa | Deskripsi |
---|---|---|
AssemblyLoad_V1 |
154 | Dinaikkan ketika rakitan dimuat. |
AssemblyUnload_V1 |
155 | Dinaikkan ketika rakitan dibongkar. |
AssemblyDCStart_V1 |
155 | Menghitung rakitan selama rundown awal. |
AssemblyDCEnd_V1 |
156 | Menghitung rakitan selama rundown akhir. |
Tabel berikut ini memperlihatkan data peristiwa.
Nama bidang | Jenis data | Deskripsi |
---|---|---|
AssemblyID | win:UInt64 | ID unik untuk rakitan. |
AppDomainID | win:UInt64 | ID domain rakitan ini. |
BindingID | win:UInt64 | ID yang secara unik mengidentifikasi pengikatan rakitan. |
AssemblyFlags | win:UInt32 | 0x1: Rakitan netral domain. 0x2: Rakitan dinamis. 0x4: Rakitan memiliki gambar asli. 0x8: Rakitan yang dapat dikumpulkan. |
AssemblyName | win:UnicodeString | Nama rakitan yang sepenuhnya memenuhi syarat. |
ClrInstanceID | win:UInt16 | ID unik untuk instans CLR atau CoreCLR. |
Peristiwa Modul
Tabel berikut menunjukkan kata kunci dan level.
Kata kunci untuk meningkatkan peristiwa | Kejadian | Tingkat |
---|---|---|
LoaderKeyword (0x8) |
ModuleLoad_V2 dan ModuleUnload_V2 |
Informasional (4) |
LoaderRundownKeyword (0x8) +StartRundownKeyword |
ModuleDCStart_V2 |
Informasional (4) |
LoaderRundownKeyword (0x8) +EndRundownKeyword |
ModuleDCEnd_V2 |
Informasional (4) |
Tabel berikut menunjukkan informasi peristiwa.
Kejadian | ID Peristiwa | Deskripsi |
---|---|---|
ModuleLoad_V2 |
152 | Dinaikkan saat modul dimuat selama masa pakai proses. |
ModuleUnload_V2 |
153 | Dinaikkan saat modul dibongkar selama masa pakai proses. |
ModuleDCStart_V2 |
153 | Menghitung modul selama rundown awal. |
ModuleDCEnd_V2 |
154 | Menghitung modul selama rundown akhir. |
Tabel berikut ini memperlihatkan data peristiwa.
Nama bidang | Jenis data | Deskripsi |
---|---|---|
ModuleID | win:UInt64 | ID unik untuk modul. |
AssemblyID | win:UInt64 | ID rakitan tempat modul ini berada. |
ModuleFlags | win:UInt32 | 0x1: Modul netral domain. 0x2: Modul memiliki gambar asli. 0x4: Modul dinamis. 0x8: Modul manifes. |
Dicadangkan1 | win:UInt32 | Bidang yang dicadangkan. |
ModuleILPath | win:UnicodeString | Jalur gambar bahasa perantara umum (CIL) untuk modul, atau nama modul dinamis jika merupakan rakitan dinamis (dihentikan null). |
ModuleNativePath | win:UnicodeString | Jalur gambar asli modul, jika ada (diakhiri null). |
ClrInstanceID | win:UInt16 | ID unik untuk instans CLR atau CoreCLR. |
ManagedPdbSignature | win:GUID | Tanda tangan GUID dari database program terkelola (PDB) yang cocok dengan modul ini. (Lihat Keterangan.) |
ManagedPdbAge | win:UInt32 | Nomor usia yang ditulis ke PDB terkelola yang cocok dengan modul ini. (Lihat Keterangan.) |
ManagedPdbBuildPath | win:UnicodeString | Jalur ke lokasi tempat PDB terkelola yang cocok dengan modul ini dibangun. Dalam beberapa kasus, ini mungkin hanya nama file. (Lihat Keterangan.) |
NativePdbSignature | win:GUID | Tanda tangan GUID dari PDB Native Image Generator (NGen) yang cocok dengan modul ini, jika berlaku. (Lihat Keterangan.) |
NativePdbAge | win:UInt32 | Nomor usia yang ditulis ke PDB NGen yang cocok dengan modul ini, jika berlaku. (Lihat Keterangan.) |
NativePdbBuildPath | win:UnicodeString | Jalur ke lokasi tempat PDB NGen yang cocok dengan modul ini dibangun, jika berlaku. Dalam beberapa kasus, ini mungkin hanya nama file. (Lihat Keterangan.) |
Keterangan
Bidang yang memiliki "Pdb" dalam namanya dapat digunakan oleh alat pembuatan profil untuk menemukan PDB yang cocok dengan modul yang dimuat selama sesi pembuatan profil. Nilai bidang ini sesuai dengan data yang ditulis ke dalam bagian IMAGE_DIRECTORY_ENTRY_DEBUG modul yang biasanya digunakan oleh penelusur kesalahan untuk membantu menemukan PDB yang cocok dengan modul yang dimuat.
Nama bidang yang dimulai dengan "ManagedPdb" mengacu pada PDB terkelola yang sesuai dengan modul CIL yang dihasilkan oleh pengkompilasi terkelola (seperti pengkompilasi C# atau Visual Basic). PDB ini menggunakan format PDB terkelola, dan menjelaskan bagaimana elemen dari kode sumber terkelola asli, seperti file, nomor baris, dan nama simbol, memetakan ke elemen CIL yang dikompilasi ke dalam modul CIL.
Nama bidang yang dimulai dengan "NativePdb" mengacu pada PDB NGen yang dihasilkan dengan memanggil
NGEN createPDB
. PDB ini menggunakan format PDB asli, dan menjelaskan bagaimana elemen dari kode sumber terkelola asli, seperti file, nomor baris, dan nama simbol, memetakan ke elemen asli yang dikompilasi ke dalam modul NGen.
Peristiwa Modul Domain CLR
Tabel berikut menunjukkan kata kunci dan level.
Kata kunci untuk meningkatkan peristiwa | Kejadian | Tingkat |
---|---|---|
LoaderKeyword (0x8) |
DomainModuleLoad_V1 |
Informasional (4) |
LoaderRundownKeyword (0x8) +StartRundownKeyword |
DomainModuleDCStart_V1 |
Informasional (4) |
LoaderRundownKeyword (0x8) +EndRundownKeyword |
DomainModuleDCEnd_V1 |
Informasional (4) |
Tabel berikut menunjukkan informasi peristiwa.
Kejadian | ID Peristiwa | Deskripsi |
---|---|---|
DomainModuleLoad_V1 |
151 | Dinaikkan saat modul dimuat untuk domain aplikasi. |
DomainModuleDCStart_V1 |
151 | Menghitung modul yang dimuat untuk domain aplikasi selama rundown awal, dan dicatat untuk semua domain aplikasi. |
DomainModuleDCEnd_V1 |
152 | Menghitung modul yang dimuat untuk domain aplikasi selama rundown akhir, dan dicatat untuk semua domain aplikasi. |
Tabel berikut ini memperlihatkan data peristiwa.
Nama bidang | Jenis data | Deskripsi |
---|---|---|
ModuleID | win:UInt64 | Mengidentifikasi rakitan tempat modul ini berada. |
AssemblyID | win:UInt64 | ID rakitan tempat modul ini berada. |
AppDomainID | win:UInt64 | ID domain aplikasi tempat modul ini digunakan. |
ModuleFlags | win:UInt32 | 0x1: Modul netral domain. 0x2: Modul memiliki gambar asli. 0x4: Modul dinamis. 0x8: Modul manifes. |
Dicadangkan1 | win:UInt32 | Bidang yang dicadangkan. |
ModuleILPath | win:UnicodeString | Jalur gambar CIL untuk modul, atau nama modul dinamis jika merupakan rakitan dinamis (dihentikan null). |
ModuleNativePath | win:UnicodeString | Jalur gambar asli modul, jika ada (diakhiri null). |
ClrInstanceID | win:UInt16 | ID unik untuk instans CLR atau CoreCLR. |
Peristiwa Rentang Modul
Tabel berikut menunjukkan kata kunci dan level.
Kata kunci untuk meningkatkan peristiwa | Kejadian | Tingkat |
---|---|---|
PerfTrackKeyWord ) |
ModuleRange |
Informasional (4) |
PerfTrackKeyWord |
ModuleRangeDCStart |
Informasional (4) |
PerfTrackKeyWord |
ModuleRangeDCEnd |
Informasional (4) |
Tabel berikut menunjukkan informasi peristiwa.
Kejadian | ID Peristiwa | Deskripsi |
---|---|---|
ModuleRange |
158 | Peristiwa ini hadir jika gambar Native Image Generator (NGen) yang dimuat telah dioptimalkan dengan IBC dan berisi informasi tentang bagian panas dari gambar NGen. |
ModuleRangeDCStart |
160 | Peristiwa ModuleRange yang dipicu pada awal rundown. |
ModuleRangeDCEnd |
161 | Peristiwa ModuleRange yang dipicu pada akhir rundown. |
Tabel berikut ini memperlihatkan data peristiwa.
Nama bidang | Jenis data | Deskripsi |
---|---|---|
ClrInstanceID | win:UInt16 | Secara unik mengidentifikasi instans tertentu dari CLR dalam proses jika beberapa instans CLR dimuat. |
ModuleID | win:UInt64 | Mengidentifikasi rakitan tempat modul ini berada. |
RangeBegin | win:UInt32 | Offset dalam modul yang mewakili awal rentang untuk jenis rentang yang ditentukan. |
RangeSize | win:UInt32 | Ukuran rentang yang ditentukan dalam byte. |
RangeType | win:UInt32 | Satu nilai, 0x4, untuk mewakili rentang IBC Dingin. Bidang ini dapat mewakili lebih banyak nilai di masa mendatang. |
RangeSize1 | win:UInt32 | 0 menunjukkan data yang buruk. |
RangeBegin2 | win:UnicodeString |
Keterangan
Jika gambar NGen yang dimuat dalam proses .NET Framework dioptimalkan dengan IBC, peristiwa ModuleRange
yang berisi rentang panas dalam gambar NGen dicatat bersama dengan moduleID
dan ClrInstanceID
. Jika gambar NGen tidak dioptimalkan dengan IBC, peristiwa ini tidak dicatat. Untuk menentukan nama modul, peristiwa ini harus disusun dengan peristiwa ETW beban modul.
Ukuran payload untuk peristiwa ini bervariasi; bidang Count
menunjukkan jumlah offset rentang yang terkandung dalam peristiwa. Peristiwa ini harus disatukan dengan peristiwa IStart
Windows untuk menentukan rentang aktual. Peristiwa Windows Image Load dicatat setiap kali gambar dimuat, dan berisi alamat virtual gambar yang dimuat.
Peristiwa rentang modul diaktifkan di bawah tingkat ETW apa pun yang lebih besar dari atau sama dengan 4 dan diklasifikasikan sebagai peristiwa informasi.