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 จะทำงานต่อไป (เช่น. ไม่ผิดพลาดอย่างสมบูรณ์)

ผมทราบว่ามีรายงานข้อผิดพลาดหลายเกี่ยวกับเรื่องนี้ ( ที่นี่ , ที่นี่และที่นี่ ) ในรายงานที่สองมีการอ้างสิทธิ์ว่ามีการแก้ไขที่ออก ในหนึ่งในสามมีวิธีแก้ปัญหา symlink ที่ไม่ได้สำหรับฉัน (และฉันไม่ชอบแม้ว่ามันจะทำงาน)

มีใครพบวิธีแก้ปัญหาสำหรับสิ่งนี้? แพคเกจที่ขาดหายไป?

หมายเหตุ:ฉันเปิดใช้งานการทดสอบ 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
คุณช่วยเตรียมแพตช์ตัวอย่างได้ไหม?
fouric

อาจได้รับการแก้ไขโดยแพ็คเกจล่าสุดใน ppa: ubuntu-toolchain-r / test เนื่องจากฉันไม่ได้รับข้อผิดพลาดนี้อีกต่อไป ฉันหมดความสนใจในเรื่องนี้เนื่องจากฉันไม่ได้พัฒนา C / C ++ มากนักเมื่อเร็ว ๆ นี้ ขอบคุณสำหรับคำตอบของคุณ!
errikos

หมายเหตุ: ตั้งแต่ Matthias Klose ได้ย้ายไฟล์ที่เกี่ยวข้องไปยังสถานที่ที่ไม่ทำให้ทฤษฏีปลอมแปลงImportErrorใน Debian ไม่เสถียรอีกต่อไป
SamB

ฉันจะแก้ไขสิ่งนี้ได้อย่างไร
becko

@becko: libstdc ++ 6 เวอร์ชันที่ติดตั้งที่แน่นอนของคุณคืออะไร?
SamB
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.