CLR ETW 关键字和级别
可以按类别和级别筛选 Windows 事件跟踪 (ETW) 事件。 可以利用事件关键字CLR ETW 关键字按类别筛选事件;将为运行时提供程序和断开提供程序组合使用这些关键字。 事件级别由标记来标识。
CLR ETW 关键字
关键字是可以进行组合以生成值的标志。 实际上,在调用命令行实用工具时使用的是关键字的十六进制值,而不是关键字名称。
下表将对这些关键字进行描述:
CLR ETW 运行时关键字
CLR ETW 断开关键字
用于运行时提供程序的符号解析的关键字组合
用于断开提供程序的符号解析的关键字组合
CLR ETW 运行时关键字
下表列出了 CLR ETW 运行时关键字、关键字的值和关键字的用途。
运行时关键字名称 |
值 |
用途 |
---|---|---|
GCKeyword |
0x00000001 |
启用垃圾回收事件的收集。 |
LoaderKeyword |
0x00000008 |
启用加载程序事件的收集。 |
JITKeyword |
0x00000010 |
启用实时 (JIT) 事件的收集。 |
NGenKeyword |
0x00000020 |
启用由本机映像生成器 (Ngen.exe) 处理的本机映像方法的事件的收集;与 StartEnumerationKeyword 和 EndEnumerationKeyword 一起使用。 |
StartEnumerationKeyword |
0x00000040 |
启用运行时中所有方法的枚举;与 NGenKeyword 结合使用。 |
EndEnumerationKeyword |
0x00000080 |
启用运行时中销毁的所有方法的枚举;与 JITKeyword 和 NGenKeyword 结合使用。 |
SecurityKeyword |
0x00000400 |
启用安全事件的收集。 |
AppDomainResourceManagementKeyword |
0x00000800 |
启用应用程序域级别的资源监视事件的收集。 |
JITTracingKeyword |
0x00001000 |
启用 JIT 跟踪事件的收集。 |
InteropKeyword |
0x00002000 |
启用互操作事件的收集。 |
ContentionKeyword |
0x00004000 |
启用争用事件的收集。 |
ExceptionKeyword |
0x00008000 |
启用异常事件的收集。 |
ThreadingKeyword |
0x00010000 |
启用线程池事件的收集。 |
StackKeyword |
0x40000000 |
启用 CLR 堆栈跟踪事件的收集。 |
返回页首
CLR ETW 断开关键字
下表列出了 CLR ETW 断开关键字、关键字的值和关键字的用途。
断开关键字名称 |
值 |
用途 |
---|---|---|
LoaderRundownKeyword |
0x00000008 |
当与 StartRundownKeyword 和 EndRundownKeyword 一起使用时,启用加载程序事件的收集。 |
JitRundownKeyword |
0x00000010 |
当与 StartRundownKeyword 和 EndRundownKeyword 一起使用时,为 JIT 编译的方法启用方法 DCStart 和 DCEnd 事件的收集。 |
NGenRundownKeyword |
0x00000020 |
当与 StartRundownKeyword 和 EndRundownKeyword 一起使用时,为 NGEN 本机映像方法启用方法 DCStart 和 DCEnd 事件的收集。 |
StartRundownKeyword |
0x00000040 |
启用开始断开期间的系统状态的枚举。 |
EndRundownKeyword |
0x00000100 |
启用结束断开期间的系统状态的枚举。 |
AppDomainResourceManagementRundownKeyword |
0x00000800 |
当与 StartRundownKeyword 或 EndRundownKeyword 一起使用时,启用 AppDomain 级别的资源监视事件的收集。 |
返回页首
用于运行时提供程序的符号解析的关键字组合
关键字和标志 |
应用程序域、程序集、模块加载/卸载事件 |
方法加载/卸载事件(动态事件除外) |
动态方法加载/销毁事件 |
---|---|---|---|
LoaderKeyword |
加载和卸载事件。 |
无。 |
无。 |
JITKeyword (+ StartEnumerationKeyword 不添加任何内容) |
无。 |
加载事件。 |
加载和卸载事件。 |
JITKeyword + EndEnumerationKeyword |
无。 |
加载和卸载事件。 |
加载和卸载事件。 |
NGenKeyword |
无。 |
无。 |
不适用。 |
NGenKeyword + StartEnumerationKeyword |
无。 |
加载事件。 |
不适用。 |
NGenKeyword + EndEnumerationKeyword |
无。 |
卸载事件。 |
不适用。 |
返回页首
用于断开提供程序的符号解析的关键字组合
关键字和标志 |
应用程序域、程序集、模块 DCStart/DCEnd 事件 |
方法 DCStart/DCEnd 事件(包括动态方法事件) |
---|---|---|
LoaderRundownKeyword + StartRundownKeyword |
DCStart 事件。 |
无。 |
LoaderRundownKeyword + EndRundownKeyword |
DCEnd 事件。 |
无。 |
JITKeyword + StartRundownKeyword |
无。 |
DCStart 事件。 |
JITKeyword + EndRundownKeyword |
无。 |
DCEnd 事件。 |
NGenKeyword + StartRundownKeyword |
无。 |
DCStart 事件。 |
NGenKeyword + EndRundownKeyword |
无。 |
DCEnd 事件。 |
返回页首
ETW 事件级别
ETW 事件也可以按级别进行筛选。 如果级别设置为 0x5,则将引发包括 0x5 及以下级别在内的所有级别的事件,这些事件属于通过关键字启用的类别的事件。 如果级别设置为 0x2,则将只引发属于级别 0x2 及以下级别的事件。
这些级别的含义如下:
0x5 - 详细
0x4 - 信息性
0x3 - 警告
0x2 - 错误
0x1 - 严重
0x0 - 始终记录
返回页首