web-dev-qa-db-fra.com

Configuration de la jolie impression GDB sous Ubuntu 13.10

J'ai essayé de mettre en place une jolie impression GDB (pour un travail plus facile avec des conteneurs standard) selon this anwer . Au lieu d'utiliser python de jolies imprimantes à partir de svn, j'ai utilisé celles qui livrées avec ubunt . Après avoir parcouru le reste du processus, le message d'erreur suivant a été lancé lors du lancement de 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.

Après avoir approfondi un peu le problème, j'ai découvert que la cause fondamentale était plus profonde - Python 3 utilisé dans gdb est incompatible avec libstdc ++, les jolies imprimantes .

Quelqu'un at-il une solution de contournement fonctionnelle pour cela? Pour l'instant je suis coincé avec les aides (également utiles, mais pas aussi fonctionnels) de Dan Marinescu: http://www.yolinux.com/TUTORIALS/GDB-Commands.html#STLDEREF

8
nietaki

La solution la plus simple semble être de configurer normalement les jolies imprimantes, puis de convertir printers.py en python3 à l'aide de 2to3:

2to3 printers.py -w

Je ne l'ai que brièvement testée, mais cela semble bien fonctionner.

8
dshepherd