.NET 运行时加载器和绑定程序事件
本文中所述的事件收集与加载和卸载程序集和模块相关的信息。 有关如何将这些事件用于诊断目的的详细信息,请参阅 日志记录和跟踪 .NET 应用程序。
引发事件的关键字 |
事件 |
水平 |
LoaderKeyword (0x8) |
DomainModuleLoad_V1 |
信息性 (4) |
事件 |
事件 ID |
描述 |
DomainModuleLoad_V1 |
151 |
为应用程序域加载模块时引发。 |
ModuleLoad_V2 事件
引发事件的关键字 |
事件 |
水平 |
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 事件
引发事件的关键字 |
事件 |
水平 |
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事件
引发事件的关键字 |
事件 |
水平 |
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 事件
引发事件的关键字 |
事件 |
水平 |
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 事件
引发事件的关键字 |
事件 |
水平 |
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 事件
引发事件的关键字 |
事件 |
水平 |
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事件
引发事件的关键字 |
事件 |
水平 |
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 事件
引发事件的关键字 |
事件 |
水平 |
Binder (0x4) |
AssemblyLoadStart |
信息性 (4) |
事件 |
事件 ID |
描述 |
AssemblyLoadStart |
290 |
已请求程序集加载。 |
字段名称 |
数据类型 |
描述 |
AssemblyName |
win:UnicodeString |
程序集名称。 |
AssemblyPath |
win:UnicodeString |
程序集名称的路径。 |
RequestingAssembly |
win:UnicodeString |
请求 (“parent”) 程序集的名称。 |
AssemblyLoadContext |
win:UnicodeString |
加载程序集的上下文。 |
RequestingAssemblyLoadContext |
win:UnicodeString |
加载请求 (“parent”) 程序集的上下文。 |
ClrInstanceID |
win:UInt16 |
CoreCLR 实例的唯一 ID。 |
AssemblyLoadStop 事件
引发事件的关键字 |
事件 |
水平 |
Binder (0x4) |
AssemblyLoadStart |
信息性 (4) |
事件 |
事件 ID |
描述 |
AssemblyLoadStart |
291 |
已请求程序集加载。 |
字段名称 |
数据类型 |
描述 |
AssemblyName |
win:UnicodeString |
程序集名称。 |
AssemblyPath |
win:UnicodeString |
程序集名称的路径。 |
RequestingAssembly |
win:UnicodeString |
请求 (“parent”) 程序集的名称。 |
AssemblyLoadContext |
win:UnicodeString |
加载程序集的上下文。 |
RequestingAssemblyLoadContext |
win:UnicodeString |
加载请求 (“parent”) 程序集的上下文。 |
Success |
win:Boolean |
程序集加载是否成功。 |
ResultAssemblyName |
win:UnicodeString |
已加载的程序集的名称。 |
ResultAssemblyPath |
win:UnicodeString |
从中加载的程序集的路径。 |
Cached |
win:UnicodeString |
负载是否已缓存。 |
ClrInstanceID |
win:UInt16 |
CoreCLR 实例的唯一 ID。 |
ResolutionAttempted 事件
引发事件的关键字 |
水平 |
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:Assembly NotFound
2:不兼容的版本
3:程序集名称不匹配
4:失败
5:异常 |
ResultAssemblyName |
win:UnicodeString |
已解析的程序集的名称。 |
ResultAssemblyPath |
win:UnicodeString |
已解析的程序集的路径。 |
ErrorMessage |
win:UnicodeString |
如果出现异常,则会出现错误消息。 |
ClrInstanceID |
win:UInt16 |
CoreCLR 实例的唯一 ID。 |
AssemblyLoadContextResolvingHandlerInvoked 事件
引发事件的关键字 |
水平 |
Binder (0x4) |
信息性 (4) |
字段名称 |
数据类型 |
描述 |
AssemblyName |
win:UnicodeString |
程序集名称。 |
HandlerName |
win:UnicodeString |
调用的处理程序的名称。 |
AssemblyLoadContext |
win:UnicodeString |
加载程序集的上下文。 |
ResultAssemblyName |
win:UnicodeString |
已解析的程序集的名称。 |
ResultAssemblyPath |
win:UnicodeString |
已解析的程序集的路径。 |
ClrInstanceID |
win:UInt16 |
CoreCLR 实例的唯一 ID。 |
AppDomainAssemblyResolveHandlerInvoked 事件
引发事件的关键字 |
水平 |
Binder (0x4) |
信息性 (4) |
字段名称 |
数据类型 |
描述 |
AssemblyName |
win:UnicodeString |
程序集名称。 |
HandlerName |
win:UnicodeString |
调用的处理程序的名称。 |
ResultAssemblyName |
win:UnicodeString |
已解析的程序集的名称。 |
ResultAssemblyPath |
win:UnicodeString |
已解析的程序集的路径。 |
ClrInstanceID |
win:UInt16 |
CoreCLR 实例的唯一 ID。 |
AssemblyLoadFromResolveHandlerInvoked 事件
引发事件的关键字 |
水平 |
Binder (0x4) |
信息性 (4) |
字段名称 |
数据类型 |
描述 |
AssemblyName |
win:UnicodeString |
程序集名称。 |
IsTrackedLoad |
win:Boolean |
是否跟踪程序集加载。 |
RequestingAssemblyPath |
win:UnicodeString |
请求程序集的路径。 |
ComputedRequestedAssemblyPath |
win:UnicodeString |
请求的程序集的路径。 |
ClrInstanceID |
win:UInt16 |
CoreCLR 实例的唯一 ID。 |
KnownPathProbed 事件
引发事件的关键字 |
水平 |
Binder (0x4) |
信息性 (4) |
事件 |
事件 ID |
描述 |
KnownPathProbed |
296 |
已针对程序集探测已知路径。 |
字段名称 |
数据类型 |
描述 |
FilePath |
win:UnicodeString |
已探测路径。 |
Source |
win:UInt16 |
探测的路径的源。
0x0:应用程序程序集。
0x1:应用本机映像路径。
0x2:应用路径。
0x3:平台资源根。
0x4:Satellite 子目录。
|
Result |
win:UInt32 |
探测的 HRESULT。 |
ClrInstanceID |
win:UInt16 |
CoreCLR 实例的唯一 ID。 |