2010-11-26 14 views
1

Dans GDB, les objets affichent généralement beaucoup de tripes en raison des objets de modèle inclus. Il y a beaucoup de std :: char_traits inutiles ...Configuration de gdb pour modifier l'affichage des objets

Y a-t-il un moyen de filtrer ces choses? Fondamentalement, je voudrais savoir si je peux configurer .gdbinit pour afficher le texte seulement pour une chaîne de std ::, et peut-être les premiers éléments pour un vecteur.

Sinon, est-il une sorte de macro que je peux écrire pour me faire imprimer sur tout un champ particulier d'un objet au lieu d'écrire à la main

Pour une chaîne, je peux écrire:

p s.c_str() 

mais je vais obtenir une erreur seg si c'est NULL.
Je voudrais assez de logique pour ignorer cela, mais ne sais pas que gdb a une facilité pour cela?

Répondre

1

Oui, il y a de telles choses! C'est un peu limité mais vous pouvez le faire.

Regardez here et aussi here.

+0

Ce qui est limité? GDB supporte les routines de sortie python à partir de la version 7.0. Vous pouvez également écrire de jolies imprimantes pour vos propres classes si vous le souhaitez, c'est en fait très simple. –