GDB lumpuh dengan: ImportError: Tidak ada modul bernama libstdcxx.v6.printers


14

Saya punya masalah dengan GDB. Setiap kali saya mencoba untuk men-debug program C ++, setelah menjalankannya, GDB memberikan kesalahan ini:

(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

Setelah itu, GDB terus berjalan (mis. Tidak crash sepenuhnya).

Saya sadar bahwa ada beberapa laporan bug tentang ini (di sini , di sini dan di sini ). Dalam laporan kedua, ada juga klaim bahwa ada perbaikan yang dirilis. Di yang ketiga, ada solusi symlink, yang tidak berhasil untuk saya (dan yang saya tidak suka, bahkan jika itu berhasil).

Adakah yang menemukan solusi untuk ini? Ada paket yang hilang?

Catatan: Saya memiliki build uji Ubuntu Toolchain (ppa: ubuntu-toolchain-r / test) PPA diaktifkan.

Jawaban:


7

Ini adalah bug di /usr/lib/debug/usr/lib/$triple/libstdc++.so.6.0.18-gdb.py; jika itu beroperasi dengan benar, Anda hanya akan melihat ImportErrorsekali, dan printer cantik akan bekerja.

Lihat http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=701935#18 untuk beberapa informasi tentang apa yang salah di sini. Ini berfungsi baik di Debian gcc-4.7, tetapi sampai saat ini tidak bekerja di gcc-4.8Debian. Saya tidak yakin apakah aku bahkan mencoba ini dengan gcc-4.6.

Apapun, Anda dapat menambal file itu agar terlihat di tempat yang tepat.


2
Bisakah Anda memberikan contoh tambalan?
Fouric

Ini mungkin telah diperbaiki oleh paket-paket terbaru di ppa: ubuntu-toolchain-r / test, karena saya tidak mendapatkan kesalahan ini lagi. Saya telah kehilangan minat dalam hal ini karena saya belum melakukan banyak pengembangan C / C ++ belakangan ini. Terima kasih atas jawaban Anda!
errikos

Catatan: Matthias Klose sejak itu memindahkan file yang relevan ke tempat di mana ia tidak memicu palsu ImportErrorlagi di Debian tidak stabil.
SamB

Bagaimana saya bisa menambal ini?
becko

@becko: Apa versi libstdc ++ 6 terinstal Anda yang sebenarnya?
SamB
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.