มีการนำเสนอการเปิดตัวดีบักเกอร์ 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