2014-01-08 23 views
6

昨天當我一步步調試我的代碼時,我做了很多事情,比如更新GCC,Clang並重新安裝Qt Creator.Today,調試器顯示反彙編程序而不是我寫的C++代碼。按F10F11,調試器正在反彙編中移動,而不是.cpp.h我寫的文件。 F11只能進入庫文件,但永遠不會進入我寫的文件。如何配置qt創建者顯示C++代碼而不是反彙編?

箭頭出現在分解裝置: enter image description here

而不是在main.cpp中: enter image description here

如何配置Qt創建者,使得調試箭頭軌道在C++代碼的每一行?

+1

1)您並未嘗試調試二進制版本的發行版本2)您沒有在項目中沒有代碼的函數上按F11(步入)。你可否確認? –

+0

@ M.C。對於1),我可以確認它不是發佈版本。對於2)我已經嘗試了很多次,F10在反彙編器中移動了箭頭。 F11有時可以進入庫文件,但永遠不會進入我的代碼。 –

+0

@ M.C。如圖中所示,所有4.h和5.cpp都是由我寫的。 F11有時會進入庫文件,但不會進入這9個文件。 –

回答

1

最後,我發現是Clang導致了這個問題。將工具箱更改爲使用gcc後,它工作正常。但不確定是Clang的錯還是編譯腳本Qt有任何問題。無論如何,只要把答案放在這裏,以防其他可能遇到同樣情況的人。

2

我跑進在qtcreator鐺工具集建立了一個非常類似的問題調試代碼,而這個答案固定了我:

gdb doesn't find source files compiled by clang++

您可以快速檢查,如果該解決方案會爲你工作導航在shell窗口中找到你的解決方案的根,然後從那裏調用qtcreator ...在main()中設置一個斷點並嘗試調試 - 如果它在main.cpp中停止並顯示源代碼,很可能就是這個問題。

如果這對您有用,可能有幾種更好的方法來實現https://stackoverflow.com/users/1632219/rene建議的永久解決方案,但是對我來說工作的方法是修改clang工具集的qmake mkspec文件。在我的系統中,它位於/usr/local/Trolltech/Qt-4.8.5/mkspecs/common/clang.conf中,所以我只需要在clang ++中加入'clang ++'$ @「'/bin/clang-compile,然後在mkspec中設置QMAKE_CXX爲clang-compile。通過這種改變,當選擇了clang工具集時,qmake會生成使用clang-compile而不是clang ++的make文件,然後隨處調試。

0

轉到「幫助 - >關於插件」並檢查「ClangCodeModel」並重新啓動QT。

Qt 5.6.1(MSVC 2013,32位)QT Creator4.0.3中存在一個錯誤。 在調試模式下放置斷點。然後進入步驟(F11),現在開始調試。要轉到您的代碼,請點擊跳過(F10),直到進入代碼頁。

我已經搜索了關於這個問題,但沒有任何工作。一些解決方案,我沒有得到。 這是非常煩人的問題。