Configurar la impresión bonita de GDB en Ubuntu 13.10


8

Traté de configurar una bonita impresión GDB (para un trabajo más fácil con contenedores estándar) de acuerdo con esta respuesta . En lugar de usar el código de impresoras bonitas de python de svn, usé los que se envían con ubuntu . Después de pasar por el resto del proceso, terminé con el siguiente mensaje de error al iniciar gdb:

For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/home/nietaki/gdb_printers/python/libstdcxx/v6/printers.py", line 54
    raise ValueError, "Cannot find type %s::%s" % (str(orig), name)
                    ^
SyntaxError: invalid syntax
/home/nietaki/.gdbinit:6: Error in sourced command file:
Error while executing Python code.

Después de profundizar un poco más en el problema, descubrí que la causa raíz es más profunda: Python 3 utilizado en gdb es incompatible con las impresoras bonitas libstdc ++ .

¿Alguien tiene una solución funcional para eso? Por ahora estoy atascado con los ayudantes (también útiles, pero no tan funcionales) de Dan Marinescu: http://www.yolinux.com/TUTORIALS/GDB-Commands.html#STLDEREF


Tengo dos preguntas: primero, ¿es Ask Ubuntu el lugar correcto y por qué? Segundo, ¿no es esto un error de la aplicación? En ambos casos, ¡está fuera de tema!
— Lucio

¿Cómo es esto fuera de tema? Enlacé un error confirmado de gran importancia desde la plataforma de lanzamiento de Ubuntu que causa mi problema y solicité una solución alternativa. Si alguien que usa 13.10 funcionara, ciertamente podría usar su solución. Verifiqué con un amigo que está en Gentoo y este problema no les afecta.
— nietaki

2
Hay un parche sin confirmar para que las impresoras funcionen con Python 3 en gcc.gnu.org/ml/libstdc++/2013-10/msg00243.html
— Jonathan Wakely

Respuestas:


8

La solución más fácil parece ser configurar las impresoras bonitas de forma normal, pero luego convertirlas printers.pya python3 usando 2to3:

2to3 printers.py -w

Solo lo probé brevemente, pero parece funcionar bien.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.