我正在寻找一个使用WPP(预处理器)为Visual Studio环境中开发的应用程序使用“Windows事件跟踪”(ETW)的示例。 虽然MSDN文档承诺WPP也可用于用户模式本机应用程序,但它仅包含对设备驱动程序执行此操作的示例,并且还严重依赖于与makefile集成。
所以我想知道是否有人能够让这个工作,如果他愿意分享他的发现或工作示例代码。 谢谢! 乌里科恩
答案 0 :(得分:2)
WPP绝对可以在用户模式下使用,您只需要从WDK中获取TraceWPP.exe即可。
但是,如果您不使用大量遗留代码或者您对监控应用程序性能感兴趣,我会考虑使用基于清单的ETW事件;由于每条消息都被明确地描述为一个结构,因此在XPerf中分析或编写其他工具更容易。 WPP实际上只是将字符串记录到以后必须解析的ETL跟踪中。
您还可以在同一个应用程序中同时使用WPP和基于清单的ETW - 指导是,将WPP用于私有/一次性调试字符串,并为更多公开的“官方”事件显示事件跟踪。
答案 1 :(得分:2)
找到我在文章中寻找的答案: Trey Nash "WPP Tracing in Visual C++ 2010 Projects"!