He seguido las instrucciones on the GDB wiki para instalar las lindas impresoras python para ver los contenedores STL. Mi ~/.gdbinit
ahora se ve así:Cómo imprimir bastante los contenedores STL en 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
Sin embargo, cuando corro BGF e intentar imprimir un tipo STL, me sale el siguiente:
print myString
Python Exception <class 'gdb.error'> No type named std::basic_string<char>::_Rep.:
$3 =
¿Alguien puede arrojar algo de luz sobre esto? Estoy ejecutando Ubuntu 12.04, que viene con GDB 7.4.
Podría ser simplemente que la biblioteca C++ ha cambiado sus tipos internos y variables de miembros, y el módulo de Python no se ha mantenido al día. –
¿Podría pegar más información, como la fuente C++, las opciones del compilador, etc.? Acabo de probar esto en Ubuntu 12.04 y funciona para mí. – user1202136
Funciona para mí con Fedora 17. – Omnifarious