对这个问题的回答使我考虑使用“Windows 事件跟踪”来满足我们的跟踪需求。我遇到了NTrace,这似乎是从 C# 代码生成 ETW 事件的好方法(使用与 XP 兼容的“经典提供程序”模型)。
但是,我找不到使用这些事件的简单方法 - 实时查看它们和/或将它们记录到文件中。我发现的唯一方法是 NTrace 文档中描述的方法:使用仅作为 Windows DDK 的一部分提供的工具。
在现场出现复杂问题的情况下,我们可能需要要求用户生成包含跟踪的文件。我们不能要求用户下载 DDK 或执行一些复杂的操作来做到这一点。
是否有一种直接、用户友好的方式将 ETW 事件记录到文件中?
此外,如果某人没有以管理员身份运行,是否可以在 Windows Vista/7 上使用 ETW 事件?