![Gdb 漂亮的打印机在 Ubuntu 16.04 中无法工作](https://linux22.com/image/95438/Gdb%20%E6%BC%82%E4%BA%AE%E7%9A%84%E6%89%93%E5%8D%B0%E6%9C%BA%E5%9C%A8%20Ubuntu%2016.04%20%E4%B8%AD%E6%97%A0%E6%B3%95%E5%B7%A5%E4%BD%9C.png)
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。两者都与Ubuntu 16.04一起安装。我没有手动构建它们。那么我缺少什么明显的东西吗?
答案1
就我而言,该~/.gdbinit
文件有一行:
sys.path.insert(0, '/usr/share/gcc-4.8/python/')
结果改成:(4.8->5)
sys.path.insert(0, '/usr/share/gcc-5/python/')
帮助了。