美文网首页QMLQt
C++和QML混合的QT程序调试方法

C++和QML混合的QT程序调试方法

作者: 猿基地 | 来源:发表于2015-11-25 20:49 被阅读1682次

    以前调试只是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啦!

    相关文章

      网友评论

      • 548f3901cef9:请问qmljsdebugger=port:xxx后面这个XXX是QT Creator的进程端口口号,还是哪里配置的端口号呢?
        猿基地:直接运行被调试程序的时候,带上这个参数,目的是为了让被调试的程序打开一个调试监听,这样QT Creator调试的时候,才能连接上这个端口进行远程调试。 这就是典型的远程调试模式。
      • Janniewon:回顾经典

      本文标题:C++和QML混合的QT程序调试方法

      本文链接:https://www.haomeiwen.com/subject/shfdhttx.html