มีการนำเสนอการเปิดตัวดีบักเกอร์ GDB 13.1 แล้ว (รุ่นแรกของซีรีส์ 13.x, สาขา 13.0 ถูกใช้เพื่อการพัฒนา) GDB รองรับการดีบักระดับซอร์สสำหรับภาษาการเขียนโปรแกรมที่หลากหลาย (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust ฯลฯ) บนฮาร์ดแวร์ต่างๆ (i386, amd64 , ARM, Power, Sparc, RISC-V ฯลฯ) และแพลตฟอร์มซอฟต์แวร์ (GNU/Linux, *BSD, Unix, Windows, macOS)
การปรับปรุงที่สำคัญ:
- เพิ่มการรองรับสำหรับการรันดีบักเกอร์และ GDBserver บนสถาปัตยกรรม GNU/Linux/LoongArch และ GNU/Linux/CSKY
- มีการใช้งานการสนับสนุนการทำงานบนแพลตฟอร์ม Windows ในโหมดอะซิงโครนัส (async)
- บนแพลตฟอร์ม FreeBSD มีการเพิ่มการรองรับตัวแปร TLS (Thread Local Storage) สำหรับสถาปัตยกรรม ARM และ AArch64 และให้ความสามารถในการใช้จุดพักฮาร์ดแวร์ (จุดเฝ้าระวัง) สำหรับสถาปัตยกรรม AArch64
- ในสภาพแวดล้อม GNU/Linux บนระบบ LoongArch ได้เพิ่มการรองรับการคำนวณจุดลอยตัวแล้ว
- นำคำสั่งใหม่ไปใช้ "maintenance setละเว้น-prologue-end-flag|libopcodes-styling" และ "maintenance print frame-id" รวมถึงคำสั่งเพื่อควบคุมรูปแบบของเอาต์พุตที่แยกชิ้นส่วน (set style disassembler *)
- เพิ่มคำสั่ง "set print nibbles [on|off]" และ "show print nibbles" เพื่อควบคุมการแสดงค่าไบนารี่ในกลุ่มสี่ไบต์
- มีการปรับปรุง Python API มีการเพิ่ม API สำหรับคำแนะนำในการแยกส่วน ประเภท gdb.BreakpointLocation และเพิ่มฟังก์ชัน gdb.format_address, gdb.current_language และ gdb.print_options
- อินเทอร์เฟซการจัดการ GDB/MI เวอร์ชันแรกเลิกใช้แล้ว และจะถูกลบออกใน GDB 14
- เพิ่มการรองรับส่วนการแก้ไขข้อบกพร่องที่บีบอัดโดยใช้อัลกอริทึม zstd ในไฟล์ ELF
- เพิ่มตัวแปรบิวท์อินใหม่: $_inferior_thread_count, $_hit_bpnum, $_hit_locno
- รูปแบบเอาต์พุตของคำสั่ง 'disassemble /r' และ 'record Instruction-history /r' ได้รับการปรับให้ตรงกับเอาต์พุตของ objdump หากต้องการคืนรูปแบบเก่า เราได้เพิ่มโหมด "/b" แล้ว
- ใน TUI (Text User Interface) การจัดสไตล์ของซอร์สโค้ดและแอสเซมบลีโค้ดที่ไฮไลต์โดยตัวบ่งชี้ตำแหน่งปัจจุบันจะถูกปิดใช้งาน
- สามารถใช้คำสั่ง “document” เพื่อจัดทำเอกสารคำสั่งของผู้ใช้ได้
- เพิ่มความสามารถในการสร้างดัมพ์ด้วยข้อมูลแท็กหน่วยความจำที่ใช้เมื่อใช้กลไก ARMv8.5 MTE (MemTag, Memory Tagging Extension) ซึ่งช่วยให้คุณสามารถผูกแท็กกับการดำเนินการจัดสรรหน่วยความจำแต่ละครั้ง และจัดระเบียบการตรวจสอบตัวชี้เมื่อเข้าถึงหน่วยความจำ ซึ่งต้องเป็น เกี่ยวข้องกับแท็กที่ถูกต้อง
- โหมดความเข้ากันได้ของ DBX ถูกยกเลิกแล้ว
- การสนับสนุนการสร้างโดยใช้ Python 2 ถูกยกเลิกแล้ว
- คำสั่ง “set debug aix-solib on|off”, “show debug aix-solib”, “set debug solib-frv on|off” และ “show debug solib-frv” ได้ถูกลบออกไปแล้ว และคำสั่ง “set/show” debug” ควรใช้แทน solib"
ที่มา: opennet.ru