ETW-gebeurtenissen van het laadprogramma
Deze gebeurtenissen verzamelen informatie over het laden en lossen van toepassingsdomeinen, assembly's en modules.
Alle laadprogramma-gebeurtenissen worden gegenereerd onder het LoaderKeyword
trefwoord (0x8). De DCStart
gebeurtenissen DCEnd
worden gegenereerd onder LoaderRundownKeyword
(0x8) metEndRundown
StartRundown
/ingeschakeld. (Zie voor meer informatie CLR ETW-trefwoorden en niveaus.)
Gebeurtenissen van toepassingsdomein
In de volgende tabel ziet u het trefwoord en het niveau.
Trefwoord voor het genereren van de gebeurtenis | Gebeurtenis | Niveau |
---|---|---|
LoaderKeyword (0x8) |
AppDomainLoad_V1 en AppDomainUnLoad_V1 |
Informatie (4) |
LoaderRundownKeyword (0x8) +StartRundownKeyword |
AppDomainDCStart_V1 |
Informatie (4) |
LoaderRundownKeyword (0x8) +EndRundownKeyword |
AppDomainDCEnd_V1 |
Informatie (4) |
In de volgende tabel ziet u de gebeurtenisgegevens.
Gebeurtenis | Gebeurtenis-id | Beschrijving |
---|---|---|
AppDomainLoad_V1 (geregistreerd voor alle toepassingsdomeinen) |
156 | Wordt gegenereerd wanneer een toepassingsdomein wordt gemaakt tijdens de levensduur van een proces. |
AppDomainUnLoad_V1 |
157 | Wordt gegenereerd wanneer een toepassingsdomein tijdens de levensduur van een proces wordt vernietigd. |
AppDomainDCStart_V1 |
157 | Opsomming van de toepassingsdomeinen tijdens een startrundown. |
AppDomainDCEnd_V1 |
158 | Opsomming van de toepassingsdomeinen tijdens een end rundown. |
In de volgende tabel ziet u de gebeurtenisgegevens.
Veldnaam | Gegevenstype | Beschrijving |
---|---|---|
AppDomainID | win:UInt64 | De unieke id voor een toepassingsdomein. |
AppDomainFlags | win:UInt32 | 0x1: standaarddomein. 0x2: Uitvoerbaar. 0x4: Toepassingsdomein, bit 28-31: Beleid voor delen van dit domein. 0: Een gedeeld domein. |
AppDomainName | win:UnicodeString | Beschrijvende toepassingsdomeinnaam. Kan tijdens de levensduur van het proces veranderen. |
AppDomainIndex | Win:UInt32 | De index van dit toepassingsdomein. |
ClrInstanceID | win:UInt16 | Unieke id voor het exemplaar van CLR of CoreCLR. |
CLR Loader Assembly-gebeurtenissen
In de volgende tabel ziet u het trefwoord en het niveau.
Trefwoord voor het genereren van de gebeurtenis | Gebeurtenis | Niveau |
---|---|---|
LoaderKeyword (0x8) |
AssemblyLoad en AssemblyUnload |
Informatie (4) |
LoaderRundownKeyword (0x8) +StartRundownKeyword |
AssemblyDCStart |
Informatie (4) |
LoaderRundownKeyword (0x8) +EndRundownKeyword |
AssemblyDCEnd |
Informatie (4) |
In de volgende tabel ziet u de gebeurtenisgegevens.
Gebeurtenis | Gebeurtenis-id | Beschrijving |
---|---|---|
AssemblyLoad_V1 |
154 | Wordt gegenereerd wanneer een assembly wordt geladen. |
AssemblyUnload_V1 |
155 | Wordt gegenereerd wanneer een assembly wordt uitgeladen. |
AssemblyDCStart_V1 |
155 | Inventariseert assembly's tijdens een startrundown. |
AssemblyDCEnd_V1 |
156 | Inventariseert assembly's tijdens een endrundown. |
In de volgende tabel ziet u de gebeurtenisgegevens.
Veldnaam | Gegevenstype | Beschrijving |
---|---|---|
AssemblyID | win:UInt64 | Unieke id voor de assembly. |
AppDomainID | win:UInt64 | Id van het domein van deze assembly. |
Bindingid | win:UInt64 | Id waarmee de assemblybinding uniek wordt geïdentificeerd. |
AssemblyFlags | win:UInt32 | 0x1: Domeinneutrale assembly. 0x2: Dynamische assembly. 0x4: Assembly heeft een systeemeigen installatiekopieën. 0x8: Verzamelbare assembly. |
AssemblyName | win:UnicodeString | Volledig gekwalificeerde assemblynaam. |
ClrInstanceID | win:UInt16 | Unieke id voor het exemplaar van CLR of CoreCLR. |
Module-gebeurtenissen
In de volgende tabel ziet u het trefwoord en het niveau.
Trefwoord voor het genereren van de gebeurtenis | Gebeurtenis | Niveau |
---|---|---|
LoaderKeyword (0x8) |
ModuleLoad_V2 en ModuleUnload_V2 |
Informatie (4) |
LoaderRundownKeyword (0x8) +StartRundownKeyword |
ModuleDCStart_V2 |
Informatie (4) |
LoaderRundownKeyword (0x8) +EndRundownKeyword |
ModuleDCEnd_V2 |
Informatie (4) |
In de volgende tabel ziet u de gebeurtenisgegevens.
Gebeurtenis | Gebeurtenis-id | Beschrijving |
---|---|---|
ModuleLoad_V2 |
152 | Wordt gegenereerd wanneer een module tijdens de levensduur van een proces wordt geladen. |
ModuleUnload_V2 |
153 | Gegenereerd wanneer een module tijdens de levensduur van een proces wordt uitgeladen. |
ModuleDCStart_V2 |
153 | Opsomming van modules tijdens een startrundown. |
ModuleDCEnd_V2 |
154 | Opsomming van modules tijdens een einduitvoering. |
In de volgende tabel ziet u de gebeurtenisgegevens.
Veldnaam | Gegevenstype | Beschrijving |
---|---|---|
Module-id | win:UInt64 | Unieke id voor de module. |
AssemblyID | win:UInt64 | Id van de assembly waarin deze module zich bevindt. |
ModuleFlags | win:UInt32 | 0x1: Domeinneutrale module. 0x2: Module heeft een systeemeigen installatiekopieën. 0x4: dynamische module. 0x8: Manifestmodule. |
Gereserveerd1 | win:UInt32 | Gereserveerd veld. |
ModuleILPath | win:UnicodeString | Pad van de CIL-installatiekopieën (Common Intermediate Language) voor de module of de naam van de dynamische module als het een dynamische assembly (null-beëindigd) is. |
ModuleNativePath | win:UnicodeString | Pad van de systeemeigen module-installatiekopieën, indien aanwezig (null-beëindigd). |
ClrInstanceID | win:UInt16 | Unieke id voor het exemplaar van CLR of CoreCLR. |
ManagedPdbSignature | win:GUID | GUID-handtekening van de beheerde programmadatabase (PDB) die overeenkomt met deze module. (Zie opmerkingen.) |
ManagedPdbAge | win:UInt32 | Leeftijdsnummer dat is geschreven naar de beheerde PDB die overeenkomt met deze module. (Zie opmerkingen.) |
ManagedPdbBuildPath | win:UnicodeString | Pad naar de locatie waar de beheerde PDB die overeenkomt met deze module is gebouwd. In sommige gevallen kan dit gewoon een bestandsnaam zijn. (Zie opmerkingen.) |
NativePdbSignature | win:GUID | GUID-handtekening van de Native Image Generator (NGen) PDB die overeenkomt met deze module, indien van toepassing. (Zie opmerkingen.) |
NativePdbAge | win:UInt32 | Leeftijdsnummer dat is geschreven naar de NGen PDB die overeenkomt met deze module, indien van toepassing. (Zie opmerkingen.) |
NativePdbBuildPath | win:UnicodeString | Pad naar de locatie waar de NGen PDB die overeenkomt met deze module is gebouwd, indien van toepassing. In sommige gevallen kan dit gewoon een bestandsnaam zijn. (Zie opmerkingen.) |
Opmerkingen
De velden met 'Pdb' in hun namen kunnen worden gebruikt door profileringshulpprogramma's om PDBs te vinden die overeenkomen met de modules die tijdens de profileringssessie zijn geladen. De waarden van deze velden komen overeen met de gegevens die zijn geschreven in de IMAGE_DIRECTORY_ENTRY_DEBUG secties van de module die normaal gesproken door foutopsporingsprogramma's worden gebruikt om PDBs te vinden die overeenkomen met de geladen modules.
De veldnamen die beginnen met ManagedPdb, verwijzen naar de beheerde PDB die overeenkomt met de CIL-module die is gegenereerd door de beheerde compiler (zoals de C# of Visual Basic-compiler). Deze PDB maakt gebruik van de beheerde PDB-indeling en beschrijft hoe elementen uit de oorspronkelijke beheerde broncode, zoals bestanden, regelnummers en symboolnamen, worden toegewezen aan CIL-elementen die zijn gecompileerd in de CIL-module.
De veldnamen die beginnen met 'NativePdb' verwijzen naar de NGen PDB die wordt gegenereerd door aan te roepen
NGEN createPDB
. Deze PDB maakt gebruik van de systeemeigen PDB-indeling en beschrijft hoe elementen uit de oorspronkelijke beheerde broncode, zoals bestanden, regelnummers en symboolnamen, worden toegewezen aan systeemeigen elementen die zijn gecompileerd in de NGen-module.
GEBEURTENISSEN van CLR-domeinmodule
In de volgende tabel ziet u het trefwoord en het niveau.
Trefwoord voor het genereren van de gebeurtenis | Gebeurtenis | Niveau |
---|---|---|
LoaderKeyword (0x8) |
DomainModuleLoad_V1 |
Informatie (4) |
LoaderRundownKeyword (0x8) +StartRundownKeyword |
DomainModuleDCStart_V1 |
Informatie (4) |
LoaderRundownKeyword (0x8) +EndRundownKeyword |
DomainModuleDCEnd_V1 |
Informatie (4) |
In de volgende tabel ziet u de gebeurtenisgegevens.
Gebeurtenis | Gebeurtenis-id | Beschrijving |
---|---|---|
DomainModuleLoad_V1 |
151 | Wordt gegenereerd wanneer een module wordt geladen voor een toepassingsdomein. |
DomainModuleDCStart_V1 |
151 | Bevat modules die tijdens een startrundown zijn geladen voor een toepassingsdomein en wordt geregistreerd voor alle toepassingsdomeinen. |
DomainModuleDCEnd_V1 |
152 | Bevat modules die tijdens een endrundown voor een toepassingsdomein zijn geladen en worden geregistreerd voor alle toepassingsdomeinen. |
In de volgende tabel ziet u de gebeurtenisgegevens.
Veldnaam | Gegevenstype | Beschrijving |
---|---|---|
Module-id | win:UInt64 | Identificeert de assembly waartoe deze module behoort. |
AssemblyID | win:UInt64 | Id van de assembly waarin deze module zich bevindt. |
AppDomainID | win:UInt64 | Id van het toepassingsdomein waarin deze module wordt gebruikt. |
ModuleFlags | win:UInt32 | 0x1: Domeinneutrale module. 0x2: Module heeft een systeemeigen installatiekopieën. 0x4: dynamische module. 0x8: Manifestmodule. |
Gereserveerd1 | win:UInt32 | Gereserveerd veld. |
ModuleILPath | win:UnicodeString | Pad van de CIL-installatiekopieën voor de module of de naam van de dynamische module als het een dynamische assembly is (null-beëindigd). |
ModuleNativePath | win:UnicodeString | Pad van de systeemeigen module-installatiekopieën, indien aanwezig (null-beëindigd). |
ClrInstanceID | win:UInt16 | Unieke id voor het exemplaar van CLR of CoreCLR. |
Modulebereik-gebeurtenissen
In de volgende tabel ziet u het trefwoord en het niveau.
Trefwoord voor het genereren van de gebeurtenis | Gebeurtenis | Niveau |
---|---|---|
PerfTrackKeyWord ) |
ModuleRange |
Informatie (4) |
PerfTrackKeyWord |
ModuleRangeDCStart |
Informatie (4) |
PerfTrackKeyWord |
ModuleRangeDCEnd |
Informatie (4) |
In de volgende tabel ziet u de gebeurtenisgegevens.
Gebeurtenis | Gebeurtenis-id | Beschrijving |
---|---|---|
ModuleRange |
158 | Deze gebeurtenis is aanwezig als een geladen NGen-installatiekopie (Native Image Generator) is geoptimaliseerd met IBC en informatie bevat over de hot-secties van de NGen-installatiekopie. |
ModuleRangeDCStart |
160 | Er ModuleRange is een gebeurtenis geactiveerd aan het begin van een rundown. |
ModuleRangeDCEnd |
161 | Er ModuleRange is een gebeurtenis geactiveerd aan het einde van een rundown. |
In de volgende tabel ziet u de gebeurtenisgegevens.
Veldnaam | Gegevenstype | Beschrijving |
---|---|---|
ClrInstanceID | win:UInt16 | Identificeert een specifiek exemplaar van de CLR in een proces als meerdere exemplaren van de CLR worden geladen. |
Module-id | win:UInt64 | Identificeert de assembly waartoe deze module behoort. |
RangeBegin | win:UInt32 | De offset in de module die het begin van het bereik voor het opgegeven bereiktype aangeeft. |
Bereikgrootte | win:UInt32 | De grootte van het opgegeven bereik in bytes. |
RangeType | win:UInt32 | Eén waarde, 0x4, om koude IBC-bereiken weer te geven. Dit veld kan in de toekomst meer waarden vertegenwoordigen. |
RangeSize1 | win:UInt32 | 0 geeft slechte gegevens aan. |
RangeBegin2 | win:UnicodeString |
Opmerkingen
Als een geladen NGen-installatiekopie in een .NET Framework-proces is geoptimaliseerd met IBC, wordt de ModuleRange
gebeurtenis die de hot ranges in de NGen-installatiekopie bevat, samen met moduleID
het bijbehorende ClrInstanceID
en. Als de NGen-installatiekopie niet is geoptimaliseerd met IBC, wordt deze gebeurtenis niet geregistreerd. Als u de modulenaam wilt bepalen, moet deze gebeurtenis worden gesorteerd met de ETW-gebeurtenissen voor het laden van de module.
De nettoladinggrootte voor deze gebeurtenis is variabel; het Count
veld geeft het aantal bereikverschuivingen in de gebeurtenis aan. Deze gebeurtenis moet worden gesorteerd met de Windows-gebeurtenis IStart
om de werkelijke bereiken te bepalen. De gebeurtenis Laden van Windows-installatiekopieën wordt geregistreerd wanneer een installatiekopieën worden geladen en bevat het virtuele adres van de geladen installatiekopieën.
Modulebereik-gebeurtenissen worden geactiveerd onder elk ETW-niveau dat groter is dan of gelijk is aan 4 en worden geclassificeerd als informatieve gebeurtenissen.