[blog摘要]Exploring and Decoding ETW Providers using Event Log Channels

这是一篇摘要,原文在这里
Exploring and Decoding ETW Providers using Event Log Channels
(http://blogs.msdn.com/ntdebugging/archive/2009/09/08/exploring-and-decoding-etw-providers-using-event-log-channels.aspx)

这篇blog演示了一个使用ETW的例子,例子中笔者用ETW来trace IE.
trace IE对于现在的工作没太大的意义,不过里面的一些信息比较有用。比如:
Windows提供了很多的ETW providers,如何找到合适的来解决问题?
在Windows什么地方可以开启ETW log,什么地方可以查看log?
如何format/filter ETW log.

-----------------------我是分隔线,下面是笔记------------------------------------------
只是浏览了文章,并没有实际的操作。所以只记下一些关键的命令,以后遇到一些实际的问题,可以当作一些启发。

1.Windows内建了很多的ETW providers,许多software也注册了很多ETW providers.如何查询它们呢?
所有的providers
c:\>logman query providers
所有providers太多了,查查关键字
c:\>logman query providers | findstr /i "Internet"
查询特定process的providers(by pid)
c:\>logman query providers -pid 6200

2.默认大部分ETW providers是关闭的,如何开启他们?
简单的说就是在Event Viewer里面可以配置,原文中有图,比较直观。

3.开启了providers,如何抓log并且dump它们呢。
Event Viewer可以save All Events As..
wevtutil命令也可以。
tracerpt命令提供了更加强大复杂的功能。
最有还可以用PowerShell脚本来做更加的复杂的处理。

4.最后一个是我最想知道的,往往知道了一个providers的GUID,他提供了很多flag和level.但是无法知道flag和level的意义。
C:\>logman query providers "XXXx YYYYY ZZZZ"

-------------------------------分隔线,下面是题外话-------------------------------------
以前从来不知道windows自带的logman,都是一直使用更加专业的xperf.
我想xperf应该都有类似的功能,只不过是xperf的doc太长了,一直没有时间能够通读一遍。

 

posted @   嗷嗷  阅读(621)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示