Události Trasování událostí pro Windows zavaděče
Tyto události shromažďují informace týkající se načítání a uvolňování domén aplikací, sestavení a modulů.
Všechny události zavaděče jsou vyvolány pod klíčovým slovem LoaderKeyword
(0x8). Události DCStart
a události DCEnd
jsou vyvolány v rámci LoaderRundownKeyword
(0x8) s povoleným StartRundown
/EndRundown
. (Další informace najdete v tématu Klíčová slova a úrovně CLR ETW.)
Události domény aplikace
Následující tabulka ukazuje klíčové slovo a úroveň.
Klíčové slovo pro vyvolání události | Událost | Level |
---|---|---|
LoaderKeyword (0x8) |
AppDomainLoad_V1 a AppDomainUnLoad_V1 |
Informační (4) |
LoaderRundownKeyword (0x8) +StartRundownKeyword |
AppDomainDCStart_V1 |
Informační (4) |
LoaderRundownKeyword (0x8) +EndRundownKeyword |
AppDomainDCEnd_V1 |
Informační (4) |
V následující tabulce jsou uvedeny informace o události.
Událost | ID události | Popis |
---|---|---|
AppDomainLoad_V1 (zaprotokolováno pro všechny domény aplikace) |
156 | Vyvolá se při každém vytvoření domény aplikace během životnosti procesu. |
AppDomainUnLoad_V1 |
157 | Vyvolá se při každém zničení domény aplikace během životnosti procesu. |
AppDomainDCStart_V1 |
157 | Vytvoří výčet domén aplikace během spuštění spuštění. |
AppDomainDCEnd_V1 |
158 | Vytvoří výčet domén aplikace během koncového běhu. |
V následující tabulce jsou uvedena data události.
Název pole | Datový typ | Popis |
---|---|---|
AppDomainID | win:UInt64 | Jedinečný identifikátor domény aplikace. |
AppDomainFlags | win:UInt32 | 0x1: Výchozí doména. 0x2: Spustitelný soubor. 0x4: Doména aplikace, bit 28–31: Zásady sdílení této domény. 0: Sdílená doména. |
AppDomainName | win:UnicodeString | Popisný název domény aplikace Během životnosti procesu se může změnit. |
AppDomainIndex | Win:UInt32 | Index této domény aplikace. |
ClrInstanceID | win:UInt16 | Jedinečné ID instance CLR nebo CoreCLR. |
Události sestavení zavaděče CLR
Následující tabulka ukazuje klíčové slovo a úroveň.
Klíčové slovo pro vyvolání události | Událost | Level |
---|---|---|
LoaderKeyword (0x8) |
AssemblyLoad a AssemblyUnload |
Informační (4) |
LoaderRundownKeyword (0x8) +StartRundownKeyword |
AssemblyDCStart |
Informační (4) |
LoaderRundownKeyword (0x8) +EndRundownKeyword |
AssemblyDCEnd |
Informační (4) |
V následující tabulce jsou uvedeny informace o události.
Událost | ID události | Popis |
---|---|---|
AssemblyLoad_V1 |
154 | Vyvolá se při načtení sestavení. |
AssemblyUnload_V1 |
155 | Vyvolá se při uvolnění sestavení. |
AssemblyDCStart_V1 |
155 | Vytvoří výčet sestavení během spuštění spuštění. |
AssemblyDCEnd_V1 |
156 | Vytvoří výčet sestavení během ukončení běhu. |
V následující tabulce jsou uvedena data události.
Název pole | Datový typ | Popis |
---|---|---|
AssemblyID | win:UInt64 | Jedinečné ID sestavení. |
AppDomainID | win:UInt64 | ID domény tohoto sestavení. |
BindingID | win:UInt64 | ID, které jednoznačně identifikuje vazbu sestavení. |
AssemblyFlags | win:UInt32 | 0x1: Doménové neutrální sestavení. 0x2: Dynamické sestavení. 0x4: Sestavení má nativní bitovou kopii. 0x8: Shromáždění. |
Assemblyname | win:UnicodeString | Plně kvalifikovaný název sestavení. |
ClrInstanceID | win:UInt16 | Jedinečné ID instance CLR nebo CoreCLR. |
Události modulu
Následující tabulka ukazuje klíčové slovo a úroveň.
Klíčové slovo pro vyvolání události | Událost | Level |
---|---|---|
LoaderKeyword (0x8) |
ModuleLoad_V2 a ModuleUnload_V2 |
Informační (4) |
LoaderRundownKeyword (0x8) +StartRundownKeyword |
ModuleDCStart_V2 |
Informační (4) |
LoaderRundownKeyword (0x8) +EndRundownKeyword |
ModuleDCEnd_V2 |
Informační (4) |
V následující tabulce jsou uvedeny informace o události.
Událost | ID události | Popis |
---|---|---|
ModuleLoad_V2 |
152 | Vyvolá se při načtení modulu během životnosti procesu. |
ModuleUnload_V2 |
153 | Vyvolá se při uvolnění modulu během životnosti procesu. |
ModuleDCStart_V2 |
153 | Vytvoří výčet modulů během spuštění spuštění. |
ModuleDCEnd_V2 |
154 | Vytvoří výčet modulů během běhu konce. |
V následující tabulce jsou uvedena data události.
Název pole | Datový typ | Popis |
---|---|---|
ModuleID | win:UInt64 | Jedinečné ID modulu. |
AssemblyID | win:UInt64 | ID sestavení, ve kterém se tento modul nachází. |
ModuleFlags | win:UInt32 | 0x1: Modul neutrální pro doménu 0x2: Modul má nativní image. 0x4: Dynamický modul. 0x8: Modul manifestu. |
Rezervovaný 1 | win:UInt32 | Rezervované pole. |
ModuleILPath | win:UnicodeString | Cesta k imagi CIL (Common Intermediate Language) modulu nebo názvu dynamického modulu, pokud se jedná o dynamické sestavení (ukončené hodnotou null). |
ModuleNativePath | win:UnicodeString | Cesta k nativní imagi modulu, pokud je k dispozici (ukončena s hodnotou null). |
ClrInstanceID | win:UInt16 | Jedinečné ID instance CLR nebo CoreCLR. |
ManagedPdbSignature | win:GUID | Identifikátor GUID databáze spravovaného programu (PDB), který odpovídá tomuto modulu. (Viz poznámky.) |
ManagedPdbAge | win:UInt32 | Číslo stáří zapsané do spravovaného souboru PDB, které odpovídá tomuto modulu. (Viz poznámky.) |
ManagedPdbBuildPath | win:UnicodeString | Cesta k umístění, kde byl vytvořen spravovaný soubor PDB, který odpovídá tomuto modulu. V některých případech to může být jenom název souboru. (Viz poznámky.) |
NativePdbSignature | win:GUID | Identifikátor GUID souboru PDB Native Image Generator (NGen), který odpovídá tomuto modulu, pokud je k dispozici. (Viz poznámky.) |
NativePdbAge | win:UInt32 | Číslo stáří zapsané do souboru PDB NGen, které odpovídá tomuto modulu, pokud je to možné. (Viz poznámky.) |
NativePdbBuildPath | win:UnicodeString | Cesta k umístění, kde byl vytvořen soubor PDB NGen, který odpovídá tomuto modulu, pokud je k dispozici. V některých případech to může být jenom název souboru. (Viz poznámky.) |
Poznámky
Pole, která mají v názvech "Pdb", mohou být použita nástroji pro profilaci k vyhledání souborů PDB, které odpovídají modulům načteným během relace profilace. Hodnoty těchto polí odpovídají datům zapsaným do IMAGE_DIRECTORY_ENTRY_DEBUG částí modulu, které ladicí programy běžně používají k vyhledání souborů PDB, které odpovídají načteným modulům.
Názvy polí, které začínají na ManagedPdb, odkazují na spravovaný soubor PDB odpovídající modulu CIL, který byl generován spravovaným kompilátorem (například kompilátorem jazyka C# nebo Visual Basic). Tento soubor PDB používá spravovaný formát PDB a popisuje, jak prvky z původního spravovaného zdrojového kódu, jako jsou soubory, čísla řádků a názvy symbolů, mapují na elementy CIL, které jsou zkompilovány do modulu CIL.
Názvy polí, které začínají na NativePdb, odkazují na soubor PDB NGen vygenerovaný voláním
NGEN createPDB
. Tento soubor PDB používá nativní formát PDB a popisuje, jak prvky z původního spravovaného zdrojového kódu, jako jsou soubory, čísla řádků a názvy symbolů, mapují na nativní elementy, které jsou zkompilovány do modulu NGen.
Události modulu domény CLR
Následující tabulka ukazuje klíčové slovo a úroveň.
Klíčové slovo pro vyvolání události | Událost | Level |
---|---|---|
LoaderKeyword (0x8) |
DomainModuleLoad_V1 |
Informační (4) |
LoaderRundownKeyword (0x8) +StartRundownKeyword |
DomainModuleDCStart_V1 |
Informační (4) |
LoaderRundownKeyword (0x8) +EndRundownKeyword |
DomainModuleDCEnd_V1 |
Informační (4) |
V následující tabulce jsou uvedeny informace o události.
Událost | ID události | Popis |
---|---|---|
DomainModuleLoad_V1 |
151 | Vyvolá se při načtení modulu pro doménu aplikace. |
DomainModuleDCStart_V1 |
151 | Vytvoří výčet modulů načtených pro doménu aplikace během spuštění spuštění a zaprotokoluje se pro všechny domény aplikace. |
DomainModuleDCEnd_V1 |
152 | Vytvoří výčet modulů načtených pro doménu aplikace během ukončení běhu a zaprotokoluje se pro všechny domény aplikace. |
V následující tabulce jsou uvedena data události.
Název pole | Datový typ | Popis |
---|---|---|
ModuleID | win:UInt64 | Identifikuje sestavení, do kterého tento modul patří. |
AssemblyID | win:UInt64 | ID sestavení, ve kterém se tento modul nachází. |
AppDomainID | win:UInt64 | ID domény aplikace, ve které se tento modul používá. |
ModuleFlags | win:UInt32 | 0x1: Modul neutrální pro doménu 0x2: Modul má nativní image. 0x4: Dynamický modul. 0x8: Modul manifestu. |
Rezervovaný 1 | win:UInt32 | Rezervované pole. |
ModuleILPath | win:UnicodeString | Cesta k imagi CIL pro modul nebo název dynamického modulu, pokud se jedná o dynamické sestavení (ukončeno null). |
ModuleNativePath | win:UnicodeString | Cesta k nativní imagi modulu, pokud je k dispozici (ukončena s hodnotou null). |
ClrInstanceID | win:UInt16 | Jedinečné ID instance CLR nebo CoreCLR. |
Události rozsahu modulů
Následující tabulka ukazuje klíčové slovo a úroveň.
Klíčové slovo pro vyvolání události | Událost | Level |
---|---|---|
PerfTrackKeyWord ) |
ModuleRange |
Informační (4) |
PerfTrackKeyWord |
ModuleRangeDCStart |
Informační (4) |
PerfTrackKeyWord |
ModuleRangeDCEnd |
Informační (4) |
V následující tabulce jsou uvedeny informace o události.
Událost | ID události | Popis |
---|---|---|
ModuleRange |
158 | Tato událost se vyskytuje, pokud byla načtená image generátoru nativních imagí (NGen) optimalizována pomocí IBC a obsahuje informace o horkých částech image NGen. |
ModuleRangeDCStart |
160 | Událost ModuleRange se spustila na začátku běhu. |
ModuleRangeDCEnd |
161 | Událost ModuleRange se spustila na konci běhu. |
V následující tabulce jsou uvedena data události.
Název pole | Datový typ | Popis |
---|---|---|
ClrInstanceID | win:UInt16 | Jedinečně identifikuje konkrétní instanci CLR v procesu, pokud je načteno více instancí CLR. |
ModuleID | win:UInt64 | Identifikuje sestavení, do kterého tento modul patří. |
RangeBegin | win:UInt32 | Posun v modulu, který představuje začátek rozsahu pro zadaný typ rozsahu. |
RozsahSize | win:UInt32 | Velikost zadaného rozsahu v bajtech. |
RangeType | win:UInt32 | Jedna hodnota, 0x4, která představuje rozsahy Cold IBC. Toto pole může v budoucnu představovat více hodnot. |
RangeSize1 | win:UInt32 | 0 označuje chybná data. |
RangeBegin2 | win:UnicodeString |
Poznámky
Pokud byla načtená image NGen v procesu rozhraní .NET Framework optimalizována pomocí IBC, událost obsahující ModuleRange
horké rozsahy v iGen image se protokoluje spolu s jeho moduleID
a ClrInstanceID
. Pokud image NGen není optimalizovaná pro IBC, tato událost se nezaprotokoluje. Chcete-li určit název modulu, musí být tato událost kompletována s událostmi načítání událostí Trasování událostí pro Windows modulu.
Velikost datové části pro tuto událost je proměnná; Count
pole označuje počet posunů rozsahu obsažených v události. Tato událost musí být kompletována s událostí Systému Windows IStart
, aby bylo možné určit skutečné rozsahy. Událost Načtení image systému Windows se protokoluje při každém načtení image a obsahuje virtuální adresu načtené image.
Události rozsahu modulů se aktivují pod libovolnou úrovní Trasování událostí pro Windows větší nebo rovna 4 a klasifikují se jako informační události.