Delen via


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) metEndRundownStartRundown/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 ClrInstanceIDen. 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.

Zie ook