Error de importación: No hay nombre de módulo libstdcxx

Cuando uso gdb para depurar mi progtwig C ++ con falla de segmentación , vengo con este error en gdb.

Seguimiento (última llamada más reciente): Archivo “/ usr / share / gdb / auto-load / usr / lib / x86_64-linux-gnu / libstdc ++. So.6.0.19-gdb.py”, línea 63, desde libstdcxx .v6.printers import register_libstdcxx_printers ImportError: no hay un módulo llamado ‘libstdcxx’

Estoy usando Gdb 7.7.1 y g ++ versión 4.8.4. He buscado en Google, pero no he recibido respuestas. ¿Alguien puede resolver mi error? Muchas gracias.

Este es un error en /usr/lib/debug/usr/lib/$triple/libstdc++.so.6.0.18-gdb.py; Cuando inicie gdb, por favor ingrese:

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

Encontré este error al usar gdb en emacs. (en contenedor docker – ubuntu) Lo probé como a continuación y funcionó bien.

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

(2) modifique ese archivo (libstdc ++. So.xxx-gdb.py) como se muestra a continuación.

 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) ejecuta gdb de nuevo

 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 v(10); (gdb) list 2 #include  3 using namespace std; 4 5 int main() 6 { 7 vector v(10); 8 int num = 0; 9 10 for(auto& i : v) 11 { (gdb) 

Si usó sudo para iniciar gdb, asegúrese de que tiene el PATH correcto.

Prueba este sudo PATH=$PATH gdb ...