gdb
Ich habe C++-Codes unter Ubuntu 14.04 debuggt . Wenn ich stl
dem print
Befehl einen Container übergebe, wird der Inhalt des Containers gedruckt. Aber dann habe ich vor einer Woche auf Ubuntu 16.04 LTS aktualisiert. Jetzt funktionieren diese hübschen Drucker nicht mehr. Wenn ich sie drucke, erhalte ich diese Rohcontainerausgabe, die man erhält, wenn man keine Python-Drucker installiert hat.
Dieser Typhat auch das gleiche Problem.
Ich habe es libstdcxx/v6/python.py
auf meinem System. Ich habe es auch libstdc++.so.6.0.21-gdb.py
im Auto-Load-Ordner. Wenn ich info pretty-printer in drucke gdb
, bekomme ich eine Liste von stl
Druckern, sodass ich weiß, dass sie registriert sind. Meine gdb
druckt jedoch keine stl::list
Variable. Ich habe es aktiviert pretty-printer
, print pretty eingeschaltet.
Meine gcc-Version ist 5.4 und meine gdb-Version ist 7.11.1. Beide wurden zusammen mit Ubuntu 16.04 installiert. Ich habe sie nicht manuell erstellt. Gibt es also etwas Offensichtliches, das ich übersehe?
Antwort1
In meinem Fall ~/.gdbinit
enthielt die Datei eine Zeile:
sys.path.insert(0, '/usr/share/gcc-4.8/python/')
Es stellte sich heraus, dass die Änderung in: (4,8->5)
sys.path.insert(0, '/usr/share/gcc-5/python/')
geholfen.