Import Error: No module name libstdcxx

前端 未结 4 1673
醉梦人生
醉梦人生 2020-12-31 07:41

When I use gdb to debug my C++ program with segmentation fault, I come with this error in gdb.

Traceback (most recent call last):

相关标签:
4条回答
  • 2020-12-31 08:26

    I picked libstdcxx from gcc installation path, and this error went away for me.

    sys.path.insert(0, '/global/freeware/Linux/RHEL6/gcc-6.2.0/share/gcc-6.2.0/python')
    
    0 讨论(0)
  • 2020-12-31 08:32

    If you used sudo to start the gdb, make sure you have the PATH correct.

    Try this sudo PATH=$PATH gdb ...

    0 讨论(0)
  • 2020-12-31 08:34

    This is a bug in /usr/lib/debug/usr/lib/$triple/libstdc++.so.6.0.18-gdb.py; When you start gdb, please enter:

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

    0 讨论(0)
  • 2020-12-31 08:43

    I encountered this error during using gdb in emacs. (in docker container - ubuntu) I tried it like below and worked well.

    (1) open libstdc++.so.x.x.x-gdb.py

    sh> sudo vi /usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19-gdb.py
    

    (2) modify that file(libstdc++.so.x.x.x-gdb.py ) like below.

    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
    

    (3) execute gdb again

    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) 
    
    0 讨论(0)
提交回复
热议问题