以前调试只是QML或者只是C++的QT程序很简单,断点打上,直接debug按钮一点,喝一口水,自然就停在断点了。 这次遇到C++和QML混合的程序,把
CONFIG+=declarative_debug
CONFIG+=qml_debug
配置上点了debug就一直等啊等, 就是不弹出主窗口,不知道的, 估计以为电脑卡死了。就算喝完一桶水,也等不到进断点的时候。打开调试信息面板,会看到提示信息 QML Debugger: Waiting for connection on port xxx,一直waiting,难怪!原来问题出在这里。
解决办法,不点击debug按钮启动程序,改为直接运行生成的程序,但记得带上参数-qmljsdebugger=port:xxx启动,从而指定一个调试qml的端口,然后在QTCreator的调试里面,选用绑定到QML端口的方式调试,输入启动参数指定的端口号,这样就可以调试QML了。
但是这样并不能调试C++那部分的代码,咋办?同样的, 启动程序后,在QTCreator的调试里面选择绑定到应用程序, 绑定到启动的程序就可以调试了。这样C++和QML都可以调试了。
一切都Okay啦!
网友评论