J'ai un problème avec GDB. Chaque fois que j'essaie de déboguer un programme C++, juste après l'avoir exécuté, GDB donne cette erreur:
(gdb) run
Starting program: /home/errikos/Workspaces/tests/a.out
Traceback (most recent call last):
File "/usr/lib/debug/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.18-gdb.py", line 59, in <module>
from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named libstdcxx.v6.printers
Traceback (most recent call last):
File "/usr/lib/debug/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.18-gdb.py", line 59, in <module>
from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named libstdcxx.v6.printers
Après cela, GDB continue de s'exécuter (c'est-à-dire qu'il ne plante pas complètement).
Je suis conscient qu'il existe plusieurs rapports de bogues à ce sujet ( ici , ici et ici ). Dans le deuxième rapport, il est également affirmé qu'un correctif a été publié. Dans le troisième, il y a une solution de contournement par lien symbolique, qui ne m'a pas fonctionné (et que je n'aime pas, même si cela a fonctionné).
Quelqu'un a-t-il trouvé une solution de contournement? Un paquet manquant?
Remarque: J'ai les versions de test de Ubuntu Toolchain (ppa: ubuntu-toolchain-r/test) activées par PPA.
C'est un bogue dans /usr/lib/debug/usr/lib/$triple/libstdc++.so.6.0.18-gdb.py
; s'il fonctionnait correctement, vous ne verriez qu'une seule fois le ImportError
, et les jolies imprimantes fonctionneraient.
Voir http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=701935#18 pour des informations sur ce qui ne va pas ici. Cela fonctionnait bien dans gcc-4.7
de Debian, mais jusqu'à récemment, ne fonctionnait pas dans gcc-4.8
sur Debian. Je ne sais pas si j'ai même essayé ceci avec gcc-4.6
.
Quoi qu'il en soit, vous pouvez patcher ce fichier pour le regarder au bon endroit.