Cuando uso gdb para depurar mi programa C++ con Fallo de segmentaciónvengo con este error en gdb.
Rastreo (ú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: ningún módulo llamado ‘libstdcxx’
Estoy usando Gdb 7.7.1 y g ++ versión 4.8.4. He buscado en Google pero no he obtenido respuestas. ¿Alguien puede solucionar 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, ingrese:
python sys.path.append("/usr/share/gcc-4.8/python");
-
Sugiero leer la respuesta de cloudrain21 que es más descriptiva.
– Luis Go
17 de enero de 2022 a las 9:06
lluvia21
Encontré este error durante el uso de gdb en emacs. (en el contenedor docker – ubuntu) Lo probé como se muestra 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) ejecutar 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<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)
Garg navideño
Elegí libstdcxx de la ruta de instalación de gcc y este error desapareció.
sys.path.insert(0, '/global/freeware/Linux/RHEL6/gcc-6.2.0/share/gcc-6.2.0/python')
-
¡También funcionó para mí con la ruta a gcc instalada localmente en mi entorno!
– shargors
28 de febrero de 2020 a las 19:45
si usaste sudo
para iniciar el gdb, asegúrese de tener la RUTA correcta.
Prueba esto sudo PATH=$PATH gdb ...
Para los que no tienen sudo
privilegio, establecimiento PYTHONPATH
env antes de ejecutar gdb
trabajará:
export PYTHONPATH="/usr/share/gcc-<your_version>/python:${PYTHONPATH}"
Primero busqué en Google…. http://askubuntu.com/questions/345873/gdb-crashes-with-importerror-no-module-named-libstdcxx-v6-printers
– LP
4 de septiembre de 2015 a las 6:36