No meu caso, o arquivo ~/.gdbinit tinha uma linha:
sys.path.insert(0, '/usr/share/gcc-4.8/python/')
Acontece que mudá-lo para: (4.8- > 5)
sys.path.insert(0, '/usr/share/gcc-5/python/')
ajudou.
Eu depurei códigos C ++ usando gdb no Ubuntu 14.04. Quando eu passar um contêiner stl para o comando print , ele costumava imprimir o conteúdo do contêiner. Mas então eu atualizei para o Ubuntu 16.04 LTS uma semana atrás. Agora essas impressoras bonitas não estão funcionando. Quando eu os imprimo, recebo a saída do contêiner bruto que você obtém quando não tem impressoras python instaladas.
Esse cara também tem o mesmo problema.
Eu tenho libstdcxx/v6/python.py no meu sistema. Eu também tenho libstdc++.so.6.0.21-gdb.py na pasta de carregamento automático. Quando eu imprimo info pretty-printer em gdb , eu obtenho uma lista de stl printers, então eu sei que eles estão registrados. No entanto, meu gdb não imprime a variável stl::list . Eu habilitei pretty-printer , ajustei a impressão consideravelmente.
Minha versão do gcc é 5.4 e a versão do gdb é 7.11.1. Ambas foram instaladas junto com o Ubuntu 16.04. Eu não os construí manualmente. Então, qualquer coisa óbvia que eu esteja sentindo falta?
No meu caso, o arquivo ~/.gdbinit tinha uma linha:
sys.path.insert(0, '/usr/share/gcc-4.8/python/')
Acontece que mudá-lo para: (4.8- > 5)
sys.path.insert(0, '/usr/share/gcc-5/python/')
ajudou.