.NET 运行时加载器和绑定器事件
本文中介绍的事件用于收集有关加载和卸载程序集和模块的信息。 有关如何将这些事件用于诊断的详细信息,请参阅对 .NET 应用程序进行日志记录和跟踪
引发事件的关键字 |
事件 |
Level |
LoaderKeyword (0x8) |
DomainModuleLoad_V1 |
信息性 (4) |
事件 |
事件 ID |
说明 |
DomainModuleLoad_V1 |
151 |
在为应用程序域加载模块时引发。 |
ModuleLoad_V2 事件
引发事件的关键字 |
事件 |
Level |
LoaderKeyword (0x8) |
DomainModuleLoad_V1 |
信息性 (4) |
事件 |
事件 ID |
描述 |
ModuleLoad_V2 |
152 |
在进程的生存期内加载模块时引发。 |
字段名 |
数据类型 |
说明 |
ModuleID |
win:UInt64 |
模块的唯一 ID。 |
AssemblyID |
win:UInt64 |
此模块所驻留的程序集的 ID。 |
ModuleFlags |
win:UInt32 |
0x1:非特定于域的模块。
0x2:模块具有本机映像。
0x4:动态模块。
0x8:清单模块。 |
Reserved1 |
win:UInt32 |
保留的字段。 |
ModuleILPath |
win:UnicodeString |
模块的公共中间语言 (CIL) 映像的路径;如果是动态程序集(以 null 结尾),则为动态模块名。 |
ModuleNativePath |
win:UnicodeString |
如果存在(以 null 结尾),则为模块本机映像的路径。 |
ClrInstanceID |
win:UInt16 |
CLR 或 CoreCLR 的实例的唯一 ID。 |
ManagedPdbSignature |
win:GUID |
匹配此模块的托管程序数据库 (PDB) 的 GUID 签名。 |
ManagedPdbAge |
win:UInt32 |
写入匹配此模块的托管 PDB 的年限数。 |
ManagedPdbBuildPath |
win:UnicodeString |
生成匹配此模块的托管 PDB 的位置的路径。 在某些情况下,这可能只是一个文件名。 |
NativePdbSignature |
win:GUID |
匹配此模块的本机映像生成器 (NGen) PDB 的 GUID 签名(如果适用)。 |
NativePdbAge |
win:UInt32 |
写入匹配此模块的 NGen PDB 的年限数(如果适用)。 |
NativePdbBuildPath |
win:UnicodeString |
生成匹配此模块的 NGen PDB 的位置的路径(如果适用)。 在某些情况下,这可能只是一个文件名。 |
ModuleUnload_V2 事件
引发事件的关键字 |
事件 |
Level |
LoaderKeyword (0x8) |
DomainModuleLoad_V1 |
信息性 (4) |
事件 |
事件 ID |
说明 |
ModuleUnload_V2 |
153 |
在进程的生存期内卸载模块时引发。 |
字段名 |
数据类型 |
说明 |
ModuleID |
win:UInt64 |
模块的唯一 ID。 |
AssemblyID |
win:UInt64 |
此模块所驻留的程序集的 ID。 |
ModuleFlags |
win:UInt32 |
0x1:非特定于域的模块。
0x2:模块具有本机映像。
0x4:动态模块。
0x8:清单模块。 |
Reserved1 |
win:UInt32 |
保留的字段。 |
ModuleILPath |
win:UnicodeString |
模块的公共中间语言 (CIL) 映像的路径;如果是动态程序集(以 null 结尾),则为动态模块名。 |
ModuleNativePath |
win:UnicodeString |
如果存在(以 null 结尾),则为模块本机映像的路径。 |
ClrInstanceID |
win:UInt16 |
CLR 或 CoreCLR 的实例的唯一 ID。 |
ManagedPdbSignature |
win:GUID |
匹配此模块的托管程序数据库 (PDB) 的 GUID 签名。 |
ManagedPdbAge |
win:UInt32 |
写入匹配此模块的托管 PDB 的年限数。 |
ManagedPdbBuildPath |
win:UnicodeString |
生成匹配此模块的托管 PDB 的位置的路径。 在某些情况下,这可能只是一个文件名。 |
NativePdbSignature |
win:GUID |
匹配此模块的本机映像生成器 (NGen) PDB 的 GUID 签名(如果适用)。 |
NativePdbAge |
win:UInt32 |
写入匹配此模块的 NGen PDB 的年限数(如果适用)。 |
NativePdbBuildPath |
win:UnicodeString |
生成匹配此模块的 NGen PDB 的位置的路径(如果适用)。 在某些情况下,这可能只是一个文件名。 |
ModuleDCStart_V2 事件
引发事件的关键字 |
事件 |
Level |
LoaderKeyword (0x8) |
DomainModuleLoad_V1 |
信息性 (4) |
事件 |
事件 ID |
说明 |
ModuleDCStart_V2 |
153 |
在启动断开期间枚举模块。 |
字段名 |
数据类型 |
说明 |
ModuleID |
win:UInt64 |
模块的唯一 ID。 |
AssemblyID |
win:UInt64 |
此模块所驻留的程序集的 ID。 |
ModuleFlags |
win:UInt32 |
0x1:非特定于域的模块。
0x2:模块具有本机映像。
0x4:动态模块。
0x8:清单模块。 |
Reserved1 |
win:UInt32 |
保留的字段。 |
ModuleILPath |
win:UnicodeString |
模块的公共中间语言 (CIL) 映像的路径;如果是动态程序集(以 null 结尾),则为动态模块名。 |
ModuleNativePath |
win:UnicodeString |
如果存在(以 null 结尾),则为模块本机映像的路径。 |
ClrInstanceID |
win:UInt16 |
CLR 或 CoreCLR 的实例的唯一 ID。 |
ManagedPdbSignature |
win:GUID |
匹配此模块的托管程序数据库 (PDB) 的 GUID 签名。 |
ManagedPdbAge |
win:UInt32 |
写入匹配此模块的托管 PDB 的年限数。 |
ManagedPdbBuildPath |
win:UnicodeString |
生成匹配此模块的托管 PDB 的位置的路径。 在某些情况下,这可能只是一个文件名。 |
NativePdbSignature |
win:GUID |
匹配此模块的本机映像生成器 (NGen) PDB 的 GUID 签名(如果适用)。 |
NativePdbAge |
win:UInt32 |
写入匹配此模块的 NGen PDB 的年限数(如果适用)。 |
NativePdbBuildPath |
win:UnicodeString |
生成匹配此模块的 NGen PDB 的位置的路径(如果适用)。 在某些情况下,这可能只是一个文件名。 |
ModuleDCEnd_V2 事件
引发事件的关键字 |
事件 |
Level |
LoaderKeyword (0x8) |
DomainModuleLoad_V1 |
信息性 (4) |
事件 |
事件 ID |
描述 |
ModuleDCEnd_V2 |
154 |
在结束断开期间枚举模块。 |
字段名 |
数据类型 |
说明 |
ModuleID |
win:UInt64 |
模块的唯一 ID。 |
AssemblyID |
win:UInt64 |
此模块所驻留的程序集的 ID。 |
ModuleFlags |
win:UInt32 |
0x1:非特定于域的模块。
0x2:模块具有本机映像。
0x4:动态模块。
0x8:清单模块。 |
Reserved1 |
win:UInt32 |
保留的字段。 |
ModuleILPath |
win:UnicodeString |
模块的公共中间语言 (CIL) 映像的路径;如果是动态程序集(以 null 结尾),则为动态模块名。 |
ModuleNativePath |
win:UnicodeString |
如果存在(以 null 结尾),则为模块本机映像的路径。 |
ClrInstanceID |
win:UInt16 |
CLR 或 CoreCLR 的实例的唯一 ID。 |
ManagedPdbSignature |
win:GUID |
匹配此模块的托管程序数据库 (PDB) 的 GUID 签名。 |
ManagedPdbAge |
win:UInt32 |
写入匹配此模块的托管 PDB 的年限数。 |
ManagedPdbBuildPath |
win:UnicodeString |
生成匹配此模块的托管 PDB 的位置的路径。 在某些情况下,这可能只是一个文件名。 |
NativePdbSignature |
win:GUID |
匹配此模块的本机映像生成器 (NGen) PDB 的 GUID 签名(如果适用)。 |
NativePdbAge |
win:UInt32 |
写入匹配此模块的 NGen PDB 的年限数(如果适用)。 |
NativePdbBuildPath |
win:UnicodeString |
生成匹配此模块的 NGen PDB 的位置的路径(如果适用)。 在某些情况下,这可能只是一个文件名。 |
AssemblyLoad_V1 事件
引发事件的关键字 |
事件 |
Level |
LoaderKeyword (0x8) |
DomainModuleLoad_V1 |
信息性 (4) |
事件 |
事件 ID |
描述 |
AssemblyLoad_V1 |
154 |
在加载程序集时引发。 |
字段名 |
数据类型 |
说明 |
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 |
CoreCLR 实例的唯一 ID。 |
AssemblyUnload_V1 事件
引发事件的关键字 |
事件 |
Level |
LoaderKeyword (0x8) |
DomainModuleLoad_V1 |
信息性 (4) |
事件 |
事件 ID |
说明 |
FireAssemblyUnload_V1 |
155 |
在加载程序集时引发。 |
字段名 |
数据类型 |
说明 |
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 |
CoreCLR 实例的唯一 ID。 |
AssemblyDCStart_V1 事件
引发事件的关键字 |
事件 |
Level |
LoaderKeyword (0x8) |
DomainModuleLoad_V1 |
信息性 (4) |
事件 |
事件 ID |
说明 |
AssemblyDCStart_V1 |
155 |
在启动断开期间枚举程序集。 |
字段名 |
数据类型 |
说明 |
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 |
CoreCLR 实例的唯一 ID。 |
AssemblyLoadStart 事件
引发事件的关键字 |
事件 |
Level |
Binder (0x4) |
AssemblyLoadStart |
信息性 (4) |
事件 |
事件 ID |
说明 |
AssemblyLoadStart |
290 |
已请求程序集加载。 |
字段名 |
数据类型 |
说明 |
AssemblyName |
win:UnicodeString |
程序集的名称。 |
AssemblyPath |
win:UnicodeString |
程序集名称的路径。 |
RequestingAssembly |
win:UnicodeString |
正在请求的(“父”)程序集的名称。 |
AssemblyLoadContext |
win:UnicodeString |
程序集的加载上下文。 |
RequestingAssemblyLoadContext |
win:UnicodeString |
正在请求的(“父”)程序集的加载上下文。 |
ClrInstanceID |
win:UInt16 |
CoreCLR 实例的唯一 ID。 |
AssemblyLoadStop 事件
引发事件的关键字 |
事件 |
Level |
Binder (0x4) |
AssemblyLoadStart |
信息性 (4) |
事件 |
事件 ID |
说明 |
AssemblyLoadStart |
291 |
已请求程序集加载。 |
字段名 |
数据类型 |
说明 |
AssemblyName |
win:UnicodeString |
程序集的名称。 |
AssemblyPath |
win:UnicodeString |
程序集名称的路径。 |
RequestingAssembly |
win:UnicodeString |
正在请求的(“父”)程序集的名称。 |
AssemblyLoadContext |
win:UnicodeString |
程序集的加载上下文。 |
RequestingAssemblyLoadContext |
win:UnicodeString |
正在请求的(“父”)程序集的加载上下文。 |
Success |
win:Boolean |
程序集加载是否成功。 |
ResultAssemblyName |
win:UnicodeString |
已加载的程序集的名称。 |
ResultAssemblyPath |
win:UnicodeString |
从中加载的程序集的路径。 |
Cached |
win:UnicodeString |
是否缓存了加载。 |
ClrInstanceID |
win:UInt16 |
CoreCLR 实例的唯一 ID。 |
ResolutionAttempted 事件
引发事件的关键字 |
Level |
Binder (0x4) |
信息性 (4) |
事件 |
事件 ID |
说明 |
ResolutionAttempted |
292 |
已请求程序集加载。 |
字段名 |
数据类型 |
说明 |
AssemblyName |
win:UnicodeString |
程序集的名称。 |
Stage |
win:UInt16 |
解析阶段。
0:在加载中查找。
1:程序集加载上下文
2:部署应用程序集。
3:默认程序集加载上下文回退。
4:解析附属程序集。
5:正在解析程序集加载上下文。
6:正在解析 AppDomain 程序集。 |
AssemblyLoadContext |
win:UnicodeString |
程序集的加载上下文。 |
Result |
win:UInt16 |
解析尝试的结果。
0:成功
1:未找到程序集
2:版本不兼容
3:程序集名称不匹配
4:失败
5:异常 |
ResultAssemblyName |
win:UnicodeString |
已解析的程序集的名称。 |
ResultAssemblyPath |
win:UnicodeString |
从中解析的程序集的路径。 |
ErrorMessage |
win:UnicodeString |
发生异常时的错误消息。 |
ClrInstanceID |
win:UInt16 |
CoreCLR 实例的唯一 ID。 |
AssemblyLoadContextResolvingHandlerInvoked 事件
引发事件的关键字 |
Level |
Binder (0x4) |
信息性 (4) |
字段名 |
数据类型 |
说明 |
AssemblyName |
win:UnicodeString |
程序集的名称。 |
HandlerName |
win:UnicodeString |
已调用的处理程序的名称。 |
AssemblyLoadContext |
win:UnicodeString |
程序集的加载上下文。 |
ResultAssemblyName |
win:UnicodeString |
已解析的程序集的名称。 |
ResultAssemblyPath |
win:UnicodeString |
从中解析的程序集的路径。 |
ClrInstanceID |
win:UInt16 |
CoreCLR 实例的唯一 ID。 |
AppDomainAssemblyResolveHandlerInvoked 事件
引发事件的关键字 |
Level |
Binder (0x4) |
信息性 (4) |
字段名 |
数据类型 |
说明 |
AssemblyName |
win:UnicodeString |
程序集的名称。 |
HandlerName |
win:UnicodeString |
已调用的处理程序的名称。 |
ResultAssemblyName |
win:UnicodeString |
已解析的程序集的名称。 |
ResultAssemblyPath |
win:UnicodeString |
从中解析的程序集的路径。 |
ClrInstanceID |
win:UInt16 |
CoreCLR 实例的唯一 ID。 |
AssemblyLoadFromResolveHandlerInvoked 事件
引发事件的关键字 |
Level |
Binder (0x4) |
信息性 (4) |
字段名 |
数据类型 |
说明 |
AssemblyName |
win:UnicodeString |
程序集的名称。 |
IsTrackedLoad |
win:Boolean |
是否跟踪程序集加载。 |
RequestingAssemblyPath |
win:UnicodeString |
正在请求的程序集的路径。 |
ComputedRequestedAssemblyPath |
win:UnicodeString |
已请求的程序集的路径。 |
ClrInstanceID |
win:UInt16 |
CoreCLR 实例的唯一 ID。 |
KnownPathProbed 事件
引发事件的关键字 |
Level |
Binder (0x4) |
信息性 (4) |
事件 |
事件 ID |
说明 |
KnownPathProbed |
296 |
探测到了程序集的一个已知路径。 |
字段名称 |
数据类型 |
说明 |
FilePath |
win:UnicodeString |
已探测的路径。 |
Source |
win:UInt16 |
已探测的路径的源。
0x0:应用程序集。
0x1:应用本机映像路径。
0x2:应用路径。
0x3:平台资源根。
0x4:附属子目录。
|
Result |
win:UInt32 |
探测的 HRESULT。 |
ClrInstanceID |
win:UInt16 |
CoreCLR 实例的唯一 ID。 |