He depurado códigos C++ usando gdb
Ubuntu 14.04. Cuando paso un stl
contenedor al print
comando, solía imprimir el contenido del contenedor. Pero luego actualicé a Ubuntu 16.04 LTS hace una semana. Ahora esas bonitas impresoras no funcionan. Cuando los imprimo, obtengo la salida del contenedor sin procesar que obtienes cuando no tienes impresoras Python instaladas.
Este chicotambién tiene el mismo problema.
Tengo libstdcxx/v6/python.py
en mi sistema. También lo tengo libstdc++.so.6.0.21-gdb.py
en la carpeta de carga automática. Cuando imprimo info Pretty-printer en gdb
, obtengo una lista de stl
impresoras, así sé que están registradas. Sin embargo, mi variable gdb
no imprime stl::list
. Lo he habilitado pretty-printer
, configuré imprimir bonito.
Mi versión de gcc es 5.4 y la versión de gdb es 7.11.1. Ambas se instalaron junto con Ubuntu 16.04. No los he construido manualmente. Entonces, ¿me falta algo obvio?
Respuesta1
En mi caso, el ~/.gdbinit
archivo tenía una línea:
sys.path.insert(0, '/usr/share/gcc-4.8/python/')
Resultó que cambiarlo a: (4.8->5)
sys.path.insert(0, '/usr/share/gcc-5/python/')
ayudó.