รีลีสดีบักเกอร์ GDB 12

มีการนำเสนอการเปิดตัวดีบักเกอร์ GDB 12.1 แล้ว (รุ่นแรกของซีรีส์ 12.x, สาขา 12.0 ถูกใช้เพื่อการพัฒนา) GDB รองรับการดีบักระดับซอร์สสำหรับภาษาการเขียนโปรแกรมที่หลากหลาย (Ada, C, C++, Objective-C, Pascal, Go, Rust ฯลฯ) บนฮาร์ดแวร์ต่างๆ (i386, amd64, ARM, Power, Sparc, RISC - V ฯลฯ) และแพลตฟอร์มซอฟต์แวร์ (GNU/Linux, *BSD, Unix, Windows, macOS)

การปรับปรุงที่สำคัญ:

  • ตามค่าเริ่มต้น โหมดมัลติเธรดสำหรับการโหลดสัญลักษณ์การดีบักจะถูกเปิดใช้งาน ซึ่งจะช่วยเร่งการเริ่มต้นระบบ
  • ปรับปรุงการรองรับเทมเพลต C++
  • มีการใช้งานการสนับสนุนการทำงานบนแพลตฟอร์ม FreeBSD ในโหมดอะซิงโครนัส (async)
  • เป็นไปได้ที่จะปิดการใช้งาน GNU Source Highlight และใช้ไลบรารี Pygments สำหรับการเน้นไวยากรณ์
  • คำสั่ง "clone-inferior" ตรวจสอบว่าการตั้งค่า TTY, CMD และ ARGS ถูกคัดลอกจากออบเจ็กต์การดีบักดั้งเดิม (ต่ำกว่า) ไปยังออบเจ็กต์การดีบักใหม่ นอกจากนี้ยังช่วยให้มั่นใจได้ว่าการเปลี่ยนแปลงตัวแปรสภาพแวดล้อมทั้งหมดที่ทำโดยใช้คำสั่ง 'ตั้งค่าสภาพแวดล้อม' หรือ 'สภาพแวดล้อมที่ไม่ได้ตั้งค่า' จะถูกคัดลอกไปยังออบเจ็กต์การแก้ไขข้อบกพร่องใหม่
  • คำสั่ง "print" ให้การสนับสนุนการพิมพ์ตัวเลขทศนิยม โดยระบุรูปแบบของค่าที่ซ่อนอยู่ เช่น เลขฐานสิบหก ("/x")
  • เพิ่มการรองรับสำหรับการรันดีบักเกอร์และ GDBserver บนสถาปัตยกรรม GNU/Linux/OpenRISC (or1k*-*-linux*) เพิ่มการสนับสนุนสำหรับการดีบักแอปพลิเคชันสำหรับแพลตฟอร์มเป้าหมาย GNU/Linux/LoongArch (loongarch*-*-linux*) การสนับสนุนแพลตฟอร์มเป้าหมาย S+core (score-*-*) ถูกยกเลิกแล้ว
  • GDB 12 ได้รับการประกาศให้เป็นรุ่นล่าสุดเพื่อรองรับการสร้างด้วย Python 2
  • เลิกใช้แล้วและจะถูกลบออกในโหมดความเข้ากันได้ของ GDB 13 DBX
  • API การจัดการ GDB/MI อนุญาตให้ใช้คำสั่ง '-add-inferior' โดยไม่มีพารามิเตอร์หรือด้วยแฟล็ก '--no-connection' เพื่อสืบทอดการเชื่อมต่อจากออบเจ็กต์การแก้ไขข้อบกพร่องปัจจุบัน หรือทำงานโดยไม่มีการเชื่อมต่อ
  • มีการปรับปรุง Python API มีความสามารถในการใช้คำสั่ง GDB/MI ใน Python เพิ่มเหตุการณ์ใหม่ gdb.events.gdb_exiting และ gdb.events.connection_removed, ฟังก์ชัน gdb.Architecture.integer_type(), อ็อบเจ็กต์ gdb.TargetConnection, คุณสมบัติ gdb.Inferior.connection, เมธอด gdb.RemoteTargetConnection.send_packet และแอตทริบิวต์ gdb.InferiorThread.details gdb.Type.is_scalar และ gdb.Type.is_signed

ที่มา: opennet.ru

เพิ่มความคิดเห็น