Ich habe die Anweisungen on the GDB wiki befolgt, um die Python-Pretty-Drucker zum Anzeigen von STL-Containern zu installieren. Mein ~/.gdbinit
sieht nun wie folgt aus:Wie Drucken von STL-Containern in GDB?
python
import sys
sys.path.insert(0, '/opt/gdb_prettyprint/python')
from libstdcxx.v6.printers import register_libstdcxx_printers
register_libstdcxx_printers (None)
end
Allerdings, wenn ich GDB laufen und versuchen, eine STL Art zu drucken, erhalte ich die folgende:
print myString
Python Exception <class 'gdb.error'> No type named std::basic_string<char>::_Rep.:
$3 =
Kann jemand etwas Licht in diese? Ich benutze Ubuntu 12.04, das mit GDB 7.4 geliefert wird.
Es könnte einfach sein, dass die C++ - Bibliothek ihre internen Typen und Member-Variablen geändert hat und das Python-Modul nicht mithalten konnte. –
Könnten Sie bitte weitere Informationen einfügen, z. B. die C++ - Quelle, Compiler-Optionen usw.? Ich habe das gerade auf Ubuntu 12.04 getestet und es funktioniert für mich. – user1202136
Funktioniert für mich mit Fedora 17. – Omnifarious