Подтвердить что ты не робот

Ошибка импорта: имя модуля libstdcxx

Когда я использую gdb для отладки моей программы на С++ с ошибкой сегментации, я пришел с этой ошибкой в ​​gdb.

Traceback (последний последний вызов):   Файл "/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdС++. So.6.0.19-gdb.py", строка 63, в     из libstdcxx.v6.printers import register_libstdcxx_printers ImportError: Нет модуля с именем libstdcxx

Я использую Gdb 7.7.1 и g++ версию 4.8.4. У меня есть googled, но у меня нет ответов. Может ли кто-нибудь решить мою ошибку? Большое вам спасибо.

4b9b3361

Ответ 1

Это ошибка в /usr/lib/debug/usr/lib/ $triple/libstdc++.so.6.0.18-gdb.py; Когда вы запустите gdb, введите:

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

Ответ 2

Я столкнулся с этой ошибкой во время использования gdb в emacs. (в докер-контейнере - ubuntu) Я попробовал это, как показано ниже, и работал хорошо.

(1) открыть libstdС++. 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) изменить этот файл (libstdС++. so.x.x.x-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

(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) 

Ответ 3

Если вы использовали sudo для запуска gdb, убедитесь, что у вас есть PATH правильно.

Попробуйте sudo PATH=$PATH gdb ...

Ответ 4

Я выбрал libstdcxx из пути установки gcc, и эта ошибка исчезла для меня.

sys.path.insert(0, '/global/freeware/Linux/RHEL6/gcc-6.2.0/share/gcc-6.2.0/python')