使用 Qt 4.8,这变得非常容易。所有必需的库现在都是 Qt 本身的一部分,您不必自己为您的 Qt 版本构建调试库。
我正在开发一个也用 CMake 构建的 Qt/QML 桌面应用程序。我必须完成以下步骤才能启用 QML 调试:
将调试启用程序包含到我的应用程序的启动代码中
#include <QtDeclarative/qdeclarativedebug.h>
/* [...] */
QDeclarativeDebuggingEnabler enabler;
添加QML_DISABLE_OPTIMIZER=1
到我的应用程序的执行环境
这可以在项目页面的执行选项卡中的 Qt Creator 中完成。
勾选 QML 调试复选框也在执行选项卡中找到
这为 Qt Creator 和嵌入在应用程序中的 QML 调试器组件之间的通信添加了所需的命令行参数
如果一切顺利,如果在调试模式下启动,应用程序会向您显示以下输出:
Qml 调试已启用。只能在安全的环境中使用!
QDeclarativeDebugServer:等待端口 3768 上的连接...
QDeclarativeDebugServer:连接已建立
之后,我能够设置断点并检查变量。通过分析页面访问的分析器也刚刚工作。
当您开发嵌入式应用程序时,您的情况显然有点复杂。
Qt creator 不支持在嵌入式平台上部署和执行基于 CMake 的项目。你必须自己做。不要忘记将所需的参数传递给您的应用程序以配置 QML 调试:
$ your-app -qmljsdebugger=port:3768,block
要将 Qt Creator 附加到远程运行的应用程序以进行分析会话,请使用 Qt Creator 主菜单中“分析”菜单中的相应“外部”条目。在“调试”>“调试”下使用“连接到调试服务器”进行调试的同样选项在哪里。