1

我正在寻找一个使用 WPP(预处理器)在 Visual Studio 环境中开发的应用程序使用“Windows 事件跟踪”(ETW)的示例。虽然 MSDN 文档承诺 WPP 也可用于用户模式、本机应用程序,但它仅包含用于设备驱动程序的示例,并且还严重依赖于与 makefile 的集成。

所以我想知道是否有人能够让这个工作,他是否愿意分享他的发现或工作示例代码。谢谢!乌里·科恩

4

2 回答 2

2

WPP 绝对可以在用户模式下使用,你只需要从 WDK 中取出 TraceWPP.exe。

但是,如果您不使用大量遗留代码,或者您对监控应用程序性能感兴趣,我会考虑使用基于清单的 ETW 事件;由于每条消息都被明确描述为一个结构,因此在 XPerf 中分析或围绕它编写其他工具会更容易。WPP 实际上只是将字符串记录到 ETL 跟踪中,您稍后必须对其进行解析。

您还可以在同一应用程序中同时使用 WPP 和基于清单的 ETW - 指导是,将 WPP 用于私有/一次性调试字符串,并将清单事件用于您想要跟踪的更多公共“官方”事件。

于 2010-12-19T11:21:39.027 回答
2

找到了我在文章中寻找的答案: Trey Nash 的“Visual C++ 2010 项目中的 WPP 跟踪” !

于 2010-12-26T20:55:49.743 回答