我在使用 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
。
无论如何,你能修补该文件以便将其放置在正确的位置。