gdb
我已經在 Ubuntu 14.04 中使用偵錯了 C++ 程式碼。當我將stl
容器傳遞給print
命令時,它用於列印容器的內容。但一週前我升級了 Ubuntu 16.04 LTS。現在那些漂亮的印表機不能用了。當我列印它們時,我會得到那些未安裝 python 印表機時得到的原始容器輸出。
這傢伙也有同樣的問題。
我的系統上有libstdcxx/v6/python.py
。我libstdc++.so.6.0.21-gdb.py
的自動載入資料夾中也有。當我在 中列印 info Pretty-printer 時gdb
,我得到了印表機列表stl
,因此我知道它們已註冊。但是,我的gdb
不列印stl::list
變數。我已啟用pretty-printer
,並將列印設定為漂亮。
我的gcc版本是5.4,gdb版本是7.11.1。我沒有手動構建它們。那我缺少什麼明顯的東西嗎?
答案1
就我而言,該~/.gdbinit
文件有一行:
sys.path.insert(0, '/usr/share/gcc-4.8/python/')
結果改成:(4.8->5)
sys.path.insert(0, '/usr/share/gcc-5/python/')
幫助了。