加载程序 ETW 事件
这些事件可收集有关加载和卸载应用程序域、程序集和模块的信息。
LoaderKeyword (0x8) 关键字用于引发所有加载程序事件。 启用了 StartRundown/EndRundown 的 LoaderRundownKeyword (0x8) 用于引发 DCStart 和 DCEnd 事件。 (有关更多信息,请参见 CLR ETW 关键字和级别。)
加载程序事件细分为以下几类:
应用程序域事件
CLR 加载程序程序集事件
模块事件
CLR 域模块事件
应用程序域事件
下表显示关键字和级别。
用于引发事件的关键字 |
Event |
级别 |
---|---|---|
LoaderKeyword (0x8) |
AppDomainLoad_V1 和 AppDomainUnLoad_V1 |
信息性 (4) |
LoaderRundownKeyword (0x8) + StartRundownKeyword |
AppDomainDCStart_V1 |
信息性 (4) |
LoaderRundownKeyword (0x8) + EndRundownKeyword |
AppDomainDCEnd_V1 |
信息性 (4) |
下表显示事件信息。
Event |
事件 ID |
说明 |
---|---|---|
AppDomainLoad_V1(为所有应用程序域记录) |
156 |
每当在进程的生存期内创建应用程序域时引发。 |
AppDomainUnLoad_V1 |
157 |
每当在进程的生存期内销毁应用程序域时引发。 |
AppDomainDCStart_V1 |
157 |
枚举开始断开期间的应用程序域。 |
AppDomainDCEnd_V1 |
158 |
枚举结束断开期间的应用程序域。 |
下表显示事件数据。
字段名 |
数据类型 |
说明 |
---|---|---|
AppDomainID |
win:UInt64 |
应用程序域的唯一标识符。 |
AppDomainFlags |
win:UInt32 |
0x1: 默认域。 0x2: 可执行文件。 0x4: 应用程序域,28-31 位:此域的共享策略。 0: 共享域。 |
AppDomainName |
win:UnicodeString |
友好的应用程序域名。 在进程的生存期内可能会改变。 |
AppDomainIndex |
Win:UInt32 |
此应用程序域的索引。 |
ClrInstanceID |
win:UInt16 |
CLR 或 CoreCLR 的实例的唯一 ID。 |
返回页首
CLR 加载程序程序集事件
下表显示关键字和级别。
用于引发事件的关键字 |
Event |
级别 |
---|---|---|
LoaderKeyword (0x8) |
AssemblyLoad 和 AssemblyUnload |
信息性 (4) |
LoaderRundownKeyword (0x8) + StartRundownKeyword |
AssemblyDCStart |
信息性 (4) |
LoaderRundownKeyword (0x8) + EndRundownKeyword |
AssemblyDCEnd |
信息性 (4) |
下表显示事件信息。
Event |
事件 ID |
说明 |
---|---|---|
AssemblyLoad_V1 |
154 |
当加载程序集时引发。 |
AssemblyUnload_V1 |
155 |
当卸载程序集时引发。 |
AssemblyDCStart_V1 |
155 |
枚举开始断开期间的程序集。 |
AssemblyDCEnd_V1 |
156 |
枚举结束断开期间的程序集。 |
下表显示事件数据。
字段名 |
数据类型 |
说明 |
---|---|---|
AssemblyID |
win:UInt64 |
程序集的唯一 ID。 |
AppDomainID |
win:UInt64 |
此程序集的域的 ID。 |
BindingID |
win:UInt64 |
唯一标识程序集绑定的 ID。 |
AssemblyFlags |
win:UInt32 |
0x1: 非特定域程序集。 0x2: 动态程序集。 0x4: 程序集具有本机映像。 0x8: 可回收程序集。 |
AssemblyName |
win:UnicodeString |
完全限定的程序集名称。 |
ClrInstanceID |
win:UInt16 |
CLR 或 CoreCLR 的实例的唯一 ID。 |
返回页首
模块事件
下表显示关键字和级别。
用于引发事件的关键字 |
Event |
级别 |
---|---|---|
LoaderKeyword (0x8) |
ModuleLoad_V1 和 ModuleUnload_V1 |
信息性 (4) |
LoaderRundownKeyword (0x8) + StartRundownKeyword |
ModuleDCStart_V1 |
信息性 (4) |
LoaderRundownKeyword (0x8) + EndRundownKeyword |
ModuleDCEnd_V1 |
信息性 (4) |
下表显示事件信息。
Event |
事件 ID |
说明 |
---|---|---|
ModuleLoad_V1 |
152 |
在进程的生存期内加载模块时引发。 |
ModuleUnload_V1 |
153 |
在进程的生存期内卸载模块时引发。 |
ModuleDCStart_V1 |
153 |
枚举开始断开期间的模块。 |
ModuleDCEnd_V1 |
154 |
枚举结束断开期间的模块。 |
下表显示事件数据。
字段名 |
数据类型 |
说明 |
---|---|---|
ModuleID |
win:UInt64 |
模块的唯一 ID。 |
AssemblyID |
win:UInt64 |
此模块驻留的程序集的 ID。 |
ModuleFlags |
win:UInt32 |
0x1: 非特定域模块。 0x2: 模块具有本机映像。 0x4: 动态模块。 0x8: 清单模块。 |
Reserved1 |
win:UInt32 |
保留字段。 |
ModuleILPath |
win:UnicodeString |
模块的 Microsoft 中间语言 (MSIL) 映像的路径;如果为动态程序集(以 null 终止),则为动态模块名称。 |
ModuleNativePath |
win:UnicodeString |
以 null 终止的模块本机映像的路径(如果存在)。 |
ClrInstanceID |
win:UInt16 |
CLR 或 CoreCLR 的实例的唯一 ID。 |
返回页首
CLR 域模块事件
下表显示关键字和级别。
用于引发事件的关键字 |
Event |
级别 |
---|---|---|
LoaderKeyword (0x8) |
DomainModuleLoad_V1 |
信息性 (4) |
LoaderRundownKeyword (0x8) + StartRundownKeyword |
DomainModuleDCStart_V1 |
信息性 (4) |
LoaderRundownKeyword (0x8) + EndRundownKeyword |
DomainModuleDCEnd_V1 |
信息性 (4) |
下表显示事件信息。
Event |
事件 ID |
说明 |
---|---|---|
DomainModuleLoad_V1 |
151 |
在为应用程序域加载模块时引发。 |
DomainModuleDCStart_V1 |
151 |
枚举开始断开期间为应用程序域加载的模块,以及为所有应用程序域记录的模块。 |
DomainModuleDCEnd_V1 |
152 |
枚举结束断开期间为应用程序域加载的模块,以及为所有应用程序域记录的模块。 |
下表显示事件数据。
字段名 |
数据类型 |
说明 |
---|---|---|
ModuleID |
win:UInt64 |
标识此模块所属的程序集。 |
AssemblyID |
win:UInt64 |
此模块驻留的程序集的 ID。 |
AppDomainID |
win:UInt64 |
使用此模块的应用程序域的 ID。 |
ModuleFlags |
win:UInt32 |
0x1: 非特定域模块。 0x2: 模块具有本机映像。 0x4: 动态模块。 0x8: 清单模块。 |
Reserved1 |
win:UInt32 |
保留字段。 |
ModuleILPath |
win:UnicodeString |
模块的 MSIL 映像的路径;如果为动态程序集(以 null 终止),则为动态模块名称。 |
ModuleNativePath |
win:UnicodeString |
以 null 终止的模块本机映像的路径(如果存在)。 |
ClrInstanceID |
win:UInt16 |
CLR 或 CoreCLR 的实例的唯一 ID。 |
返回页首