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) conformément à cette réponse . Au lieu d’utiliser de jolies imprimantes python du code de svn, j’ai utilisé celles livrées avec Ubuntu . Après avoir parcouru le rest du processus, le message d’erreur suivant a été lancé lors du lancement de gdb:

For bug reporting instructions, please see: ... Traceback (most recent call last): File "", line 3, in  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 ++, de 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

La solution la plus simple semble être de configurer les jolies imprimantes comme d’habitude, puis de convertir printers.py en python3 en utilisant 2to3:

 2to3 printers.py -w 

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