1. 程式人生 > >C++和QML混合的QT程式除錯方法

C++和QML混合的QT程式除錯方法

       以前除錯只是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啦!