2012-12-21 78 views
4

我試圖調試我的小小的詞法分析器,並遇到了這個問題:QtCreator-Debugger不顯示任何我的std :: string-變量的內容。我試圖在控制檯中調試它,並得到了相同的結果,只是簡單的結構信息。QtCreator調試器不顯示std :: string的值

我前幾天使用的QtCreator版本確實顯示了字符串的內容。所有其他的STL元素,如std :: vector,std :: map,std :: multimap等顯示正確的數據,它只是std :: string類,它不正確。

經過幾個小時的谷歌搜索,我發現了很多描述漂亮打印機的創建的網頁,我真正不喜歡解決這個問題的方法並沒有幫助。任何想法如何我可以擺脫這個錯誤?

注意:字符串變量的'內容'將始終顯示爲'not accessible'。 我在64位Linux操作系統上使用QtCreator 2.6(QT5)。 (1):我重新安裝了從操作系統到編譯器和IDE的所有東西......奇怪的是,當我使用優化級別3(-O3)構建我的項目時,QT可以顯示std :: strings。

的命令行是以下內容: 鐺++ -std = C++ 11 -O3 -g -c Foo.cpp中

當我刪除-O3的std ::字符串<不可訪問>。有任何想法嗎?

+0

嘗試從源代碼編譯G ++,或獲得的libstdC++ - 調試 包爲您的分佈。 – mcuw

+0

我現在遇到了另一個問題,gdb不能識別任何東西......它只是說'/usr/lib/.../libstdc++.so.6.0.16-gdb.py'找不到,但是它存在嗎? !?我現在將重新安裝我的操作系統... – bash0r

回答

5

試試這個,它爲我工作。
在Qt Creator的菜單欄:

Tools -> Options -> Debugger 
Uncheck the option (Load system GDB pretty printers) 
相關問題