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


14

我对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继续运行(即不会完全崩溃)。

我知道有一些关于此的错误报告(此处此处此处)。在第二份报告中,还声称存在已发布的修复程序。在第三个中,有一个symlink解决方法,它对我不起作用(即使它起作用,我也不喜欢)。

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

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

Answers:


7

这是一个错误/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,但是直到最近才gcc-4.8在Debian上不起作用。我不确定我是否尝试过使用gcc-4.6

无论如何,您都可以修补该文件以在正确的位置查找。


2
您能否提供样本补丁?
Fouric

ppa:ubuntu-toolchain-r / test中的最新软件包可能已解决了该问题,因为我不再遇到此错误。由于最近没有做太多的C / C ++开发,我对此失去了兴趣。谢谢你的回答!
errikos

注意:Matthias Klose从此将相关文件移到了不再引起ImportErrorDebian不稳定的伪造的地方。
SamB

我该如何打补丁?
becko 2015年

@becko:libstdc ++ 6的确切安装版本是什么?
SamB
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.