在gdb中启动一个程序时,我得到了这个错误:
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Traceback (most recent call last):
File "/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19-gdb.py", line 63, in <module>
from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named 'libstdcxx'
谷歌打开了这个bug报告:在gdb提示符下使用python print sys.path
命令http://osdir.com/ml/debian-gcc/2014-02/msg00061.html这个bug报告列表。但是,当我尝试在gdb提示符上使用任何python时,会发生以下情况:
(gdb) python print sys.path
File "<string>", line 1
print sys.path
^
SyntaxError: invalid syntax
Error while executing Python code.
(gdb) python print "Hello"
File "<string>", line 1
print "HellO"
^
SyntaxError: invalid syntax
Error while executing Python code.
我使用的是Ubuntu 14.04 LTS,相关版本信息:
$ gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
$ gdb --version
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
$ python --version
Python 2.7.6
显然,我的设置中有什么东西坏了。是python、gdb还是其他什么?
发布于 2016-01-04 03:35:34
我把这篇文章作为答案发布,这样别人就更容易找到它了。Mark Plotnick和webbertiger的评论才是真正的答案。
总而言之,以下是对我有效的方法:
python sys.path.append("/usr/share/gcc-4.8/python");
添加到该文件我使用的是Eclipse CDT,所以我检查了window > preferences > GDB > GDB命令文件中是否使用了这个文件。
https://stackoverflow.com/questions/31062010
复制相似问题