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

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

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

  • TUI (Text User Interface) ได้เพิ่มการรองรับการทำงานของเมาส์และความสามารถในการเลื่อนเนื้อหาด้วยล้อเลื่อนของเมาส์ เปิดใช้งานการส่งต่อชุดคีย์ไปยัง GDB ที่ไม่ได้ประมวลผลใน TUI
  • เพิ่มการรองรับกลไก ARMv8.5 MTE (MemTag, Memory Tagging Extension) ซึ่งช่วยให้คุณสามารถผูกแท็กกับการดำเนินการจัดสรรหน่วยความจำแต่ละรายการ และจัดระเบียบการตรวจสอบตัวชี้เมื่อเข้าถึงหน่วยความจำ ซึ่งจะต้องเชื่อมโยงกับแท็กที่ถูกต้อง Remote Debug Control Protocol ให้การสนับสนุนแพ็คเกจ “qMemTags” และ “QMemTags” สำหรับการผูกแท็กเข้ากับหน่วยความจำ
  • ตรรกะในการอ่านไฟล์การกำหนดค่ามีการเปลี่ยนแปลง ขณะนี้ไฟล์ .gdbinit ได้รับการตรวจสอบตามลำดับต่อไปนี้: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit และ $HOME/.gdbinit เหล่านั้น. อันดับแรกในไดเร็กทอรีย่อย config และเฉพาะในโฮมไดเร็กทอรีเท่านั้น
  • ในคำสั่ง “break […] if CONDITION” เอาต์พุตข้อผิดพลาดจะหยุดลงเมื่อเงื่อนไขไม่ถูกต้องในบางตำแหน่ง หากเงื่อนไขถูกต้องอย่างน้อยหนึ่งกรณี
  • เพิ่มการสนับสนุนสำหรับการดีบักคอร์ดัมพ์ที่สร้างขึ้นสำหรับโปรแกรม Cygwin ที่คอมไพล์สำหรับสถาปัตยกรรม x86_64
  • เพิ่มการรองรับประเภทจุดคงที่ รวมถึงค่าคงที่ DW_AT_GNU_numerator และ DW_AT_GNU_denominator
  • เพิ่มการตั้งค่า “เปิด-ปิดอย่างเงียบๆ” เมื่อ "เปิด" คล้ายกับตัวเลือก "-silent"
  • คำสั่ง "ptype" ใช้ตัวเลือก /x" และ "/d" เพื่อเลือกเลขฐานสิบหกหรือทศนิยมเมื่อแสดงขนาดและออฟเซ็ต เพิ่มการตั้งค่า "print type hex on|off" เพื่อใช้ค่าเลขฐานสิบหกในเอาต์พุตของคำสั่ง 'ptype'
  • ในคำสั่ง "inferior" เมื่อถูกเรียกโดยไม่มีอาร์กิวเมนต์ เอาต์พุตของอ็อบเจ็กต์การดีบักปัจจุบัน (ด้อยกว่า) จะถูกจัดเตรียมไว้
  • ผลลัพธ์ของคำสั่ง "แหล่งข้อมูล" ได้รับการแก้ไขใหม่
  • เพิ่มคำสั่ง “style version foreground | พื้นหลัง | ความเข้ม" เพื่อควบคุมรูปแบบการกำหนดหมายเลขเวอร์ชัน
  • เพิ่มตัวเลือกบรรทัดคำสั่งใหม่: “—early-init-command” (“-eix”), “—early-init-eval-command” (“-eiex”), “—ผ่านการรับรอง” (สำหรับคำสั่ง '-break-insert) ) ' และ '-dprintf-insert'), "--force-condition" (สำหรับคำสั่ง '-break-insert' และ '-dprintf-insert'), "--force" (สำหรับ '-break-condition ' สั่งการ).
  • คำสั่ง '-file-list-exec-source-files' ช่วยให้คุณสามารถระบุนิพจน์ทั่วไปเพื่อกรองไฟล์ต้นฉบับที่จะประมวลผล มีการเพิ่มฟิลด์ 'debug-full-read' ลงในเอาต์พุตเพื่อระบุขอบเขตที่มีการโหลดข้อมูลการดีบัก
  • มีการปรับปรุง Python API เพิ่มวิธีการใหม่ gdb.Frame.level() และ db.PendingFrame.level() เพื่อส่งคืนระดับสแต็กสำหรับวัตถุ Frame เมื่อมีการทริกเกอร์ catchpoint Python API จะทำให้แน่ใจว่า gdb.BreakpointEvent ถูกส่งแทน gdb.StopEvent เพิ่มการตั้งค่า "python ละเว้นสภาพแวดล้อม เปิด|ปิด" เพื่อละเว้นตัวแปรสภาพแวดล้อม และ "หลามไม่เขียนไบต์โค้ดอัตโนมัติ|เปิด|ปิด" เพื่อปิดใช้งานการเขียนไบต์โค้ด
  • มีการปรับปรุง Guile API มีการเพิ่มค่า-ค่าอ้างอิง-ค่า, ค่า-rvalue-reference-value และค่า-const-value ของขั้นตอนใหม่
  • การพึ่งพาแอสเซมบลีที่จำเป็นรวมถึงไลบรารี GMP (GNU Multiple Precision Arithmetic)
  • การสนับสนุนแพลตฟอร์ม ARM Symbian (arm*-*-symbianelf*) ถูกยกเลิกแล้ว

ที่มา: opennet.ru

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