使用 Qt Creator 21 在 Qt 应用程序中实现跟踪点

💡 原文英文,约300词,阅读约需1分钟。
📝

内容提要

Qt 内置跟踪框架通过 Q_TRACE_* 宏定位应用问题,支持 ETW、LTTng、CTF 后端,CTF 自 Qt 6.5 起可用。使用 -trace ctf 构建 Qt 6.12 后,可在 Qt Creator 21 的 Profile 模式查看跟踪点,并借助向导和快速修复在自有应用中插入跟踪宏,测量绘制等操作耗时。

🔎

延伸解读

跟踪后端选择与版本要求

Qt 内置跟踪框架支持 ETW、LTTng 和 CTF 三种后端。其中 CTF 后端自 Qt 6.5 起才可用,且跨平台。若使用较早版本,则无法利用 CTF 后端。选择后端时需考虑目标平台:ETW 适用于 Windows,LTTng 适用于 Linux,而 CTF 则提供跨平台支持。

在 Qt Creator 中查看跟踪点

要查看跟踪点,需使用 -trace ctf 参数构建 Qt,并注册到 Qt Creator。在 Qt Creator 21 的 Profile 模式下,可以可视化跟踪数据。这要求构建时包含调试信息,以便正确解析跟踪点。

在用户应用中插入跟踪点

Qt Creator 21 提供了向导和快速修复功能,可帮助在自有 Qt 应用中插入跟踪宏。例如,在 Basic Drawing 示例中,可以测量绘制操作的耗时。这降低了使用内部跟踪 API 的门槛,但需注意该 API 为内部接口,可能随版本变化。

❓

Q&A

Qt 内置的跟踪框架支持哪些后端?

Qt 内置跟踪框架支持 ETW(Windows)、LTTng(Linux)和 CTF(Common Trace Format,跨平台)后端。其中 CTF 后端自 Qt 6.5 起可用。

如何在 Qt 应用程序中启用跟踪点?

在配置 Qt 时使用 -trace 选项,例如 -trace ctf 来启用 CTF 后端,或使用 -trace yes 进行自动检测。

Qt Creator 21 如何帮助在用户应用中插入跟踪宏?

Qt Creator 21 提供了向导和快速修复功能,可以自动设置 CMake 样板代码,并将跟踪宏插入到 C++ 代码中。

如何在 Qt Creator 21 中查看跟踪点数据?

在 Qt Creator 21 的 Profile 模式下可以查看跟踪点数据。需要先使用 -trace ctf 构建 Qt(如 Qt 6.12),并注册到 Qt Creator 中。

Qt 跟踪框架的 API 是公开的吗?

Qt 跟踪框架的 API 是内部的,不是公开 API。

CTF 后端从哪个 Qt 版本开始可用?

CTF 后端从 Qt 6.5 开始可用。

🏷️

标签

➡️

继续阅读