GDB збоїв із: ImportError: Немає модуля з іменем libstdcxx.v6.printers


14

У мене проблема з GDB. Кожен раз, коли я намагаюся налагодити будь-яку програму C ++, відразу після її запуску GDB видає цю помилку:

(gdb) run
Starting program: /home/errikos/Workspaces/tests/a.out 
Traceback (most recent call last):
  File "/usr/lib/debug/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.18-gdb.py", line 59, in <module>
    from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named libstdcxx.v6.printers
Traceback (most recent call last):
  File "/usr/lib/debug/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.18-gdb.py", line 59, in <module>
    from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named libstdcxx.v6.printers

Після цього GDB продовжує працювати (тобто не виходить з ладу повністю).

Мені відомо, що про це є кілька повідомлень про помилки ( тут , тут і тут ). У другій доповіді також є твердження, що виправлено виправлення. У третьому є рішення симпосилання, яке не спрацювало для мене (і що мені не подобається, навіть якщо воно працювало).

Хтось знайшов рішення для цього? Який-небудь пакет, який відсутній?

Примітка. У мене активовано тестові збірки Ubuntu Toolchain (ppa: ubuntu-toolchain-r / test) PPA.

Відповіді:


7

Це помилка /usr/lib/debug/usr/lib/$triple/libstdc++.so.6.0.18-gdb.py; якби вона працювала правильно, ви побачили б лише ImportErrorодин раз, і симпатичні принтери працювали б.

Дивіться http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=701935#18 для отримання інформації про те, що відбувається тут не так. Це було добре в Debian gcc-4.7, але до недавнього часу він не працював gcc-4.8на Debian. Я не впевнений, чи я навіть спробував це gcc-4.6.

Незалежно від цього, ви можете закріпити цей файл, щоб шукати в потрібному місці.


2
Не могли б ви надати зразок виправлення?
чотирирічний

Це, ймовірно, було виправлено останніми пакетами в ppa: ubuntu-toolchain-r / test, тому що я більше не отримую цієї помилки. Я втратив інтерес до цього, оскільки останнім часом я мало займався розробкою C / C ++. Дякую за вашу відповідь!
errikos

Примітка: Маттіас Клоз з тих пір перемістив відповідний файл на те місце, де він більше не викликає помилкових ImportErrorв Debian нестабільних.
SamB

Як я можу це зафіксувати?
бекко

@becko: Яка точна встановлена ​​версія libstdc ++ 6?
SamB
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.