GDB 崩溃,原因:ImportError: 没有名为 libstdcxx.v6.printers 的模块

GDB 崩溃,原因:ImportError: 没有名为 libstdcxx.v6.printers 的模块

我在使用 GDB 时遇到了问题。每当我尝试调试任何 C++ 程序时,刚运行完它,GDB 就会给出以下错误:

(gdb) run
Starting program: /home/errikos/Workspaces/tests/a.out 
Traceback (most recent call last):
  File "/usr/lib/debug/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.18-gdb.py", line 59, in <module>
    from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named libstdcxx.v6.printers
Traceback (most recent call last):
  File "/usr/lib/debug/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.18-gdb.py", line 59, in <module>
    from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named libstdcxx.v6.printers

此后,GDB 继续运行(即不会完全崩溃)。

我知道有关于此问题的一些错误报告(这里这里这里)。在第二份报告中,也声称已经发布了修复程序。在第三份报告中,有一个符号链接解决方法,但对我来说不起作用(即使它起作用,我也不喜欢它)。

有人找到解决方法了吗?有缺少包吗?

笔记:我已经激活了 Ubuntu Toolchain 测试版本 (ppa:ubuntu-toolchain-r/test) PPA。

答案1

这是 中的一个错误/usr/lib/debug/usr/lib/$triple/libstdc++.so.6.0.18-gdb.py;如果它运行正确,您只会看到一次ImportError,并且漂亮的打印机就会工作。

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=701935#18有关这里出了什么问题的信息。这在 Debian 中运行正常gcc-4.7,但直到最近才在 Debian 上工作gcc-4.8。我甚至不确定我是否尝试过这与gcc-4.6

无论如何,你修补该文件以便将其放置在正确的位置。

相关内容