2010-11-26 3 views
1

In GDB werden Objekte aufgrund der enthaltenen Vorlagenobjekte normalerweise mit vielen Kutteln angezeigt. Es gibt eine Menge nutzlos std :: char_traits ...Konfigurieren von gdb zum Ändern der Anzeige von Objekten

Gibt es eine Möglichkeit, dieses Zeug zu filtern? Im Grunde würde ich gerne wissen, ob ich .gdbinit konfigurieren kann, um den Text nur für eine std :: string und vielleicht die ersten paar Elemente für einen Vektor anzuzeigen.

Alternativ gibt es eine Art von Makro schreibe ich kann mir nur ein bestimmtes Feld eines Objekts anstelle des Schreibens von Hand drucken lassen

Für eine Zeichenfolge, kann ich schreiben:

p s.c_str() 

, aber ich werde einen seg Fehler erhalten, wenn es NULL ist.
Ich möchte genug Logik, um das zu ignorieren, aber nicht wissen, dass gdb irgendeine Möglichkeit dafür hat?

Antwort

1

Ja, da sind solche Dinge! Es ist ein bisschen begrenzt, aber Sie können es tun.

Blick here und auch here.

+0

Was begrenzt ist? GDB unterstützt Python-Ausgabe-Routinen ab Version 7.0. Sie können auch hübsche Drucker für Ihre eigenen Klassen schreiben, wenn Sie wollen, es ist eigentlich sehr einfach. –