python 2.7 - Ubuntu 14.04, gcc 4.8.4: la impresión bonita de gdb no funciona debido al problema de Python
python-2.7 pretty-print (1)
Recibo este error al iniciar un programa en gdb:
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Traceback (most recent call last):
File "/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19-gdb.py", line 63, in <module>
from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named ''libstdcxx''
Google python print sys.path
este informe de error: http://osdir.com/ml/debian-gcc/2014-02/msg00061.html Esta lista de informe de error mediante el comando python print sys.path
en el indicador de gdb. Sin embargo, cuando trato de usar cualquier python en el indicador de gdb, esto sucede:
(gdb) python print sys.path
File "<string>", line 1
print sys.path
^
SyntaxError: invalid syntax
Error while executing Python code.
(gdb) python print "Hello"
File "<string>", line 1
print "HellO"
^
SyntaxError: invalid syntax
Error while executing Python code.
Estoy usando Ubuntu 14.04 LTS, información relevante de la versión:
$ gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
$ gdb --version
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
$ python --version
Python 2.7.6
Claramente, algo en mi configuración está roto. ¿Es python, gdb, o algo más?
Estoy publicando esto como una respuesta para que sea más fácil para otros encontrarlo. Los comentarios de Mark Plotnick y webbertiger son la respuesta real.
Para resumir, aquí está lo que funcionó para mí:
- Creó un archivo ~ / .gdbinit
- Se añadió
python sys.path.append("/usr/share/gcc-4.8/python");
a ese archivo
Estoy usando Eclipse CDT, así que verifiqué que este archivo se está usando en la ventana> preferencias> GDB> archivo de comandos de GDB.