Красивый принтер GDB не работает в Ubuntu 16.04

Красивый принтер GDB не работает в Ubuntu 16.04

Я отлаживал коды C++, используя gdbUbuntu 14.04. Когда я передаю stlконтейнер команде print, она печатала содержимое контейнера. Но потом я обновился до Ubuntu 16.04 LTS неделю назад. Теперь эти красивые принтеры не работают. Когда я их печатаю, я получаю тот сырой вывод контейнера, который вы получаете, когда у вас не установлены принтеры Python.

Этот пареньу него та же проблема.

У меня есть libstdcxx/v6/python.pyв моей системе. У меня также есть libstdc++.so.6.0.21-gdb.pyв папке автозагрузки. Когда я печатаю info pretty-printer в gdb, я получаю список stlпринтеров, поэтому я знаю, что они зарегистрированы. Однако мой gdbне печатает stl::listпеременную. Я включил pretty-printer, установил print pretty на.

Моя версия gcc — 5.4, а версия gdb — 7.11.1. Оба были установлены вместе с Ubuntu 16.04. Я не собирал их вручную. Так что, что-то очевидное я упускаю?

решение1

В моем случае в ~/.gdbinitфайле была строка:

sys.path.insert(0, '/usr/share/gcc-4.8/python/')

Оказалось, что, изменив его на: (4.8->5)

sys.path.insert(0, '/usr/share/gcc-5/python/')

помогло.

Связанный контент