การตั้งค่าการพิมพ์ GDB ใน Ubuntu 13.10


8

ผมพยายามที่จะตั้งค่า GDB สวยพิมพ์ (สำหรับการทำงานง่ายขึ้นด้วยภาชนะมาตรฐาน) ตามanwer นี้ แทนการใช้รหัสหลามเครื่องพิมพ์สวยจาก SVN ผมใช้คนที่เรือกับอูบุนตู หลังจากผ่านกระบวนการที่เหลือฉันก็พบข้อความแสดงข้อผิดพลาดต่อไปนี้เมื่อเรียกใช้ gdb:

For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/home/nietaki/gdb_printers/python/libstdcxx/v6/printers.py", line 54
    raise ValueError, "Cannot find type %s::%s" % (str(orig), name)
                    ^
SyntaxError: invalid syntax
/home/nietaki/.gdbinit:6: Error in sourced command file:
Error while executing Python code.

หลังจากดูปัญหาที่ลึกลงไปเล็กน้อยฉันพบว่าสาเหตุของการวางอยู่ลึกลง - Python 3 ที่ใช้ใน gdb ไม่สามารถใช้งานร่วมกับเครื่องพิมพ์สวย ๆ ของ libstdc ++ได้

ใครบ้างมีวิธีแก้ปัญหาการทำงานสำหรับที่? ตอนนี้ฉันติดอยู่กับผู้ช่วยเหลือ (มีประโยชน์ แต่ไม่สามารถใช้งานได้) จาก Dan Marinescu: http://www.yolinux.com/TUTORIALS/GDB-Commands.html#STLDEREF


ฉันมีสองคำถาม: ข้อแรกถามอูบุนตูว่าถูกที่แล้วทำไม? ประการที่สองนี่ไม่ใช่ข้อบกพร่องของแอปพลิเคชันใช่หรือไม่ ในทั้งสองกรณีเป็นนอกหัวข้อ!
Lucio

หัวข้อนี้เป็นอย่างไร ฉันเชื่อมโยงข้อผิดพลาดที่มีความสำคัญสูงที่ได้รับการยืนยันจากUbuntu launchpad ที่ทำให้เกิดปัญหาของฉันและขอวิธีแก้ปัญหา หากใครก็ตามที่ใช้ 13.10 ได้งานนี้ฉันสามารถใช้วิธีแก้ปัญหาได้อย่างแน่นอน ฉันตรวจสอบกับเพื่อนที่อยู่ใน Gentoo และปัญหานี้ไม่ส่งผลกระทบต่อพวกเขา
nietaki

2
มีโปรแกรมแก้ไขที่ไม่มีข้อผูกมัดเพื่อให้เครื่องพิมพ์ทำงานร่วมกับ Python 3 ได้ที่gcc.gnu.org/ml/libstdc++/2013-10/msg00243.html
Jonathan Wakely

คำตอบ:


8

การแก้ไขที่ง่ายที่สุดดูเหมือนว่าเป็นการตั้งค่าเครื่องพิมพ์สวย ๆ ตามปกติแล้วแปลงprinters.pyเป็น python3 โดยใช้ 2to3:

2to3 printers.py -w

ฉันทดสอบเพียงสั้น ๆ แต่ดูเหมือนว่าจะทำงานได้ดี

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