正在使用"Windows事件跟踪"事件

use*_*783 7 windows logging trace etw

这个问题的答案让我开始考虑使用"Windows事件跟踪"来满足我们的跟踪需求.我遇到过NTrace,这似乎是从C#代码生成ETW事件的好方法(使用与XP兼容的"经典提供者"模型).

但是,我无法找到一种简单的方法来使用这些事件 - 实时查看它们和/或将它们记录到文件中.我找到的唯一方法是在NTrace文档中描述:使用仅作为Windows DDK的一部分提供的工具.

在现场复杂问题的情况下,我们可能需要让用户生成包含跟踪的文件.我们不能要求用户下载DDK或执行一些复杂的操作才能执行此操作.

是否有一种直接,用户友好的方式将ETW事件记录到文件中?

此外,如果某人没有以管理员身份运行,是否可以在Windows Vista/7上使用ETW事件?

Luk*_*uke 3

TraceView 是最简单的开箱即用解决方案,但可以编写您自己的特定于您的提供商的 ETW 查看器。这将使您能够完全控制演示文稿,并使最终用户更容易使用,因为 TraceView 实际上更像是一个调试工具,而不是您可以要求最终用户运行的工具。

就实时跟踪而言,根据文档

只有具有管理权限的用户、Performance Log Users 组中的用户以及作为 LocalSystem、LocalService、NetworkService 运行的服务才能实时使用事件。要授予受限用户实时使用事件的能力,请将其添加到性能日志用户组。

Windows XP 和 Windows 2000:任何人都可以使用实时事件。

如果您有兴趣编写自己的 ETW 查看器(实时或日志文件),请参阅以下相关文档