导入错误:没有模块名称libstdcxx

toa*_*ong 13 c c++ python linux

当我使用gdb调试我的C++程序时出现分段错误,我在gdb中遇到了这个错误.

回溯(最近一次调用最后一次):从libstdcxx文件"/ usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc ++.so.6.0.19-gdb.py",第63行.v6.printers import register_libstdcxx_printers ImportError:没有名为'libstdcxx'的模块

我使用的是Gdb 7.7.1和g ++版本4.8.4.我用谷歌搜索但没有得到答案.任何人都可以解决我的错误吗?非常感谢你.

ada*_*jun 18

这是/usr/lib/debug/usr/lib/$triple/libstdc++.so.6.0.18-gdb.py中的错误; 当你启动gdb时,请输入:

python sys.path.append("/usr/share/gcc-4.8/python");


clo*_*n21 11

我在emacs中使用gdb时遇到此错误.(在docker container - ubuntu中)我尝试过如下,并且工作得很好.

(1)打开libstdc ++.so.xxx-gdb.py

sh> sudo vi /usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19-gdb.py
Run Code Online (Sandbox Code Playgroud)

(2)修改该文件(libstdc ++.so.xxx-gdb.py),如下所示.

import sys 
import gdb 
import os
import os.path

pythondir = '/usr/share/gcc-4.8/python'
libdir = '/usr/lib/x86_64-linux-gnu'

sys.path.append(pythondir)    <-- add this code
Run Code Online (Sandbox Code Playgroud)

(3)再次执行gdb

Type "apropos word" to search for commands related to "word"...
Reading symbols from ./a.out...done.
(gdb) b main
Breakpoint 1 at 0x400ae9: file vector7.cpp, line 7.
(gdb) r
Starting program: /home/dplee/work/study_room/c++/a.out 

Breakpoint 1, main () at vector7.cpp:7
7       vector<int> v(10);
(gdb) list
2   #include <vector>
3   using namespace std;
4   
5   int main()
6   {
7       vector<int> v(10);
8       int num = 0;
9   
10      for(auto& i : v)
11      {
(gdb) 
Run Code Online (Sandbox Code Playgroud)