C++和QML混合的QT程式除錯方法
阿新 • • 發佈:2018-12-10
以前除錯只是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啦!