python-2.7 gdb pretty-print

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.