对this问题的回答让我研究了使用“Windows事件跟踪”来满足我们的跟踪需求。我碰到过NTrace,这似乎是从C#代码(使用XP兼容的“经典提供者”模型)生成ETW事件的好方法。消费“Windows事件跟踪”事件
但是,我无法找到一个简单的方法来消耗这些事件 - 实时看到它们和/或将它们记录到文件中。我发现的唯一方法是在NTrace文档中描述的:使用仅作为Windows DDK的一部分提供的工具。
在现场出现复杂问题的情况下,我们可能需要请求用户生成一个包含跟踪的文件。我们不能要求用户下载DDK或执行一些复杂的操作来执行此操作。
是否有一种直观的,用户友好的方式将ETW事件记录到文件中?
另外,如果有人在Windows Vista/7上使用ETW事件(如果它们未以管理员身份运行),是否可以使用这些事件?
感谢您提供此信息。因此,在Windows Vista及更高版本上,受限用户无法实时使用事件。你知道这些用户是否可以控制将事件记录到文件中? – user200783 2010-03-07 22:49:08
似乎受限制的用户无法控制将事件记录到文件中。为此,用户必须使用跟踪控制器,但是http://msdn.microsoft.com/en-us/library/aa364117%28VS.85%29.aspx说:“只有具有管理专家的用户。 ..可以控制事件跟踪会话“。 – user200783 2010-03-07 22:57:58
是的,Vista是一种拖累。为了解决这个问题,您可以将所有事件追踪内容在一个在特权帐户下运行的服务中完成。尽管如此,让用户提升可能更容易。 – Luke 2010-03-08 02:32:36