我尝试使用显式基本事件来记录事件以进行调试和分析。但我有一个问题:当我在我的提供者注册时记录,一切都很好,当在WPA中打开.etl文件时,我可以查看尽可能多的信息。但是如果我在没有注册提供者的情况下收集事件,当我在WPA中打开.etl文件时,一切都不是人性化的。那么,在开始收集活动之前,我必须注册我的提供商吗?我希望不会,因为如果是这样,我必须冒险泄漏我的.man文件,所以其他人也可以使用它来获取详细跟踪日志。这是不可接受的!
我不希望我的.man文件打包在安装文件中,所以我不需要担心泄漏它。当然,我也无法注册我的提供者。
有没有办法查看.etl(尽管没有我的提供商先注册)?
提前致谢。
下面是可能使我说的更容易理解的图片。
没有我的提供者注册的记录图像:
我的提供者注册记录的图像:
我在msdn论坛找到答案,here is the same question asked by myself.
整个步骤如下:
xperf -start mysession -on MY_PROVIDER_GUID
开始收集事件数据。xperf -stop mysession -d poor.etl
停止收集并保存到poor.etl文件。xperf -merge poor.etl good.etl
就这样。希望它会帮助像我这样的其他人。感谢大家。
如果使用.Net,则使用EventSource package,它会将清单添加到ETL(ProviderName/ManifestData
)中。
通过这种方式,您无需在捕获和解码系统上安装清单。清单现在是ETL的一部分。
当然,如果有人获得ETL,他可以使用Perfview来转储Manifest。