在 Qt Creator 中调试 JavaScript

打印到控制台

调试 AppStudio 应用程序的首选方法是在 QML 代码中使用 console.log 消息,因为这些消息都显示在 Qt Creator 控制台中且对所有平台都是相同的。此方法无需安装 Qt 工具包,只需要 AppStudio

要在 Qt Creator 中运行应用程序,请单击工具 > 外部 > AppStudio 菜单上的运行。您也可以按键盘上的 Alt+Shift+R 键,或单击 Qt Creator 窗口左下角的运行按钮。

Qt Creator 调试模式

通过和 AppStudio 4.0 版本绑定的 Qt Creator 版本可以立即访问 Qt Creator 调试工具。要在调试模式下打开应用程序,可以在 Qt Creator 中按 F5,也可以在 Qt Creator 窗口左下角单击开始启动工程调试按钮。

有关如何使用 Qt Creator 中的调试工具的详细信息,请参阅 Qt 文档中的与调试程序交互

注:

虽然 Qt 文档中包含有关 C++ 调试的信息,但是要使用这种语言需要有 Qt SDK 许可,而 AppStudio 中并未提供此许可。

断点

在 Qt Creator 中,可以使用断点使应用程序在到达特定代码行时中断运行,并将控制权递交给您。此时,您可以检查应用程序的状态,也可以继续逐行执行或连续执行。

您可以通过以下方式在应用程序中插入断点:

  • 将文本指针放在要插入断点的行上,然后按下 F9(macOS 系统为 F8)。
  • 单击行编号左侧的空格。
  • 双击“断点”视图的空白处,并在弹出的添加断点窗口中输入行编号。
  • 在“断点”视图中选择添加断点,并在弹出的添加断点窗口中输入行编号。

此时,应用程序在断点处停止运行,您可以使用 Qt Creator 中提供的选项来恢复正常、停止应用程序或跳转到其他代码行。

要打开编辑断点窗口,请在“断点”视图中双击该断点,或者在代码视图中右键单击该断点,然后单击编辑断点。在此窗口中,您可以设置不同类型的断点,以及应用程序在断点处停止前的条件、停止应用程序之前忽略断点的次数以及到达断点时自动通过的命令。

要移动断点,可以将其选中并拖放到所需位置。要删除断点,可以再次按 F9(macOS 系统为 F8),单击断点图标,或右键单击断点,然后选择删除所选断点删除所有断点

有关断点的详细信息,请参阅 Qt 文档中的设置断点

QML 分析器

JavaScript 不仅会造成意外错误,导致应用程序无法正常工作,而且还会导致 QML 应用程序性能降低。例如,短时间内执行过多 JavaScript,可能导致延迟或掉帧。您可以使用 QML 分析器工具来监控使用中的 JavaScript 函数、内存使用情况和输入事件等数据来找出性能下降的原因。

要启用 QML 分析器,首先需确保您的应用程序当前没有运行 Qt Creator。然后,打开应用程序的工程视图,选择分析 > QML 分析器。您的应用程序随即打开,QML 分析器部分则在后面的 Qt Creator 中打开。在应用程序中执行需要分析的操作,然后单击 QML 分析器部分的停止QML 分析器部分会为您提供应用程序行为的场景图。代码视图中也会显示应用程序运行各部分代码所用时间的百分比值。

有关 QML 分析器的详细信息,请参阅 Qt 文档中的分析 QML 应用程序