Ho provato a configurare la bella stampa GDB (per un lavoro più semplice con contenitori standard) secondo questa risposta . Invece di usare il grazioso codice per stampanti di Python da svn, ho usato quelli forniti con Ubuntu . Dopo aver completato il resto del processo, ho avviato il seguente messaggio di errore all'avvio di gdb:
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Traceback (most recent call last):
File "<string>", line 3, in <module>
File "/home/nietaki/gdb_printers/python/libstdcxx/v6/printers.py", line 54
raise ValueError, "Cannot find type %s::%s" % (str(orig), name)
^
SyntaxError: invalid syntax
/home/nietaki/.gdbinit:6: Error in sourced command file:
Error while executing Python code.
Dopo aver esaminato un po 'più a fondo il problema, ho scoperto che la causa principale è più profonda: Python 3 usato in gdb è incompatibile con le stampanti piuttosto libstdc ++ .
Qualcuno ha una soluzione funzionale per questo? Per ora sono bloccato con gli aiutanti (anche utili, ma non altrettanto funzionali) di Dan Marinescu: http://www.yolinux.com/TUTORIALS/GDB-Commands.html#STLDEREF