C++ Windows 事件跟踪 (ETW) 包装器

发布于 2024-11-16 00:55:28 字数 1539 浏览 4 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

丘比特射中我 2024-11-23 00:55:28

我建议使用 WPP,而不是直接使用 Win32 API。

WPP 是一个预处理器,它允许您在代码中的任何位置编写类似 printf 的跟踪行,并获得这些结果以及附加数据(例如,传递给跟踪中的各个 %d 和 %s 的参数)登录到 ETW。

明确的指南是 WPP Visual C++ 2010 项目中的跟踪

Rather than using the Win32 API directly, I would recommend using WPP.

WPP is a pre-processor which allow you to write printf-like trace lines anywhere in your code and have the result of those, along with the additional data (e.g. the arguments passed to the various %d and %s in the trace) be logged to ETW.

The definite guide for this is WPP Tracing in Visual C++ 2010 Projects.

杀お生予夺 2024-11-23 00:55:28

一方面,ETW非常强大。但同时,开始也不是那么容易。

但是,GitHub 上有一个项目可以简化您自己的 ETW 提供程序的编写。这是一个很好的编写示例:

  • ETW 清单 (.man) 用于公开事件字段
  • WPR 配置文件 (.wprp) 用于向 WPRUI(记录器)传授有关您的探查器
  • WPA配置文件 (.wpaProfile) 和感兴趣区域 (.xml) 来教授 WPA 有关数据表示的信息。

请查看英特尔单事件 API (SEAPI) wiki

On the one hand, ETW is very powerful. But at the same time, it's not that easy to start with it.

However, there is a project on GitHub that simplifies writing your own ETW provider. And it's a good example of writing:

  • ETW manifest (.man) to disclose event fields
  • WPR profile (.wprp) to teach WPRUI (recorder) about your profiler
  • WPA profile (.wpaProfile) and regions of interest (.xml) to teach WPA about representation of your data.

Please look at the Intel single event API (SEAPI) wiki.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文