對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