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

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

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

  • การสนับสนุนแพลตฟอร์ม Solaris 10 และ Cell Broadband Engine ถูกยกเลิกแล้ว
  • เพิ่มตัวจำลองใหม่ของระบบย่อย PRU (Programmable Real-time Unit) ที่ใช้ในโปรเซสเซอร์ Texas Instruments (pru-*-elf)
  • เพิ่มโหมดทดลองสำหรับการโหลดสัญลักษณ์การดีบักอย่างรวดเร็วในโหมดมัลติเธรด (เปิดใช้งานผ่านการตั้งค่า 'maint set worker-threads Unlimited')
  • สามารถใช้สัญลักษณ์ '.' ในชื่อคำสั่งได้
  • เพิ่มความสามารถในการตั้งค่าเบรกพอยต์บนฟังก์ชันที่ซ้อนกันและรูทีนย่อยใน Fortran
  • มีการดำเนินงานเพื่อนำมาซึ่งรูปแบบที่เป็นหนึ่งเดียวและปรับปรุงความสามารถในการอ่านคำสั่ง
  • มีการใช้โครงสร้างพื้นฐานมาตรฐานสำหรับการส่งอาร์กิวเมนต์คำสั่งโดยใช้อักขระเส้นประ ('-OPT') ซึ่งอนุญาตให้เติมข้อความอัตโนมัติโดยใช้ปุ่มแท็บ
  • คำสั่ง “printf” และ “eval” ใช้การรองรับเอาต์พุตสตริงในรูปแบบ C และ Ada โดยไม่ต้องเรียกใช้ฟังก์ชันในโปรแกรมโดยตรง
  • เพิ่มการสนับสนุนสำหรับการกรองไฟล์เอาต์พุตตามนิพจน์ทั่วไปในคำสั่ง "แหล่งข้อมูล"
  • ในการตั้งค่า "set print frame-arguments" พารามิเตอร์ "presence" จะถูกนำมาใช้ เมื่อตั้งค่าแล้ว เฉพาะตัวบ่งชี้สถานะ "..." เท่านั้นที่จะแสดงสำหรับอาร์กิวเมนต์แทนที่จะแสดงชื่อและค่า
  • ในอินเทอร์เฟซ ตุ๋ย คำสั่ง "focus", "winheight", "+", "-", ">", "<" ตอนนี้คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
  • สำหรับคำสั่ง "print", "compile print", "backtrace", "frame"
    ใช้ตัวเลือก "apply", "tfaas" และ "faas" เพื่อแทนที่การตั้งค่าส่วนกลาง (เช่น การตั้งค่าผ่าน "set print […]");

  • เพิ่มตัวเลือก "-q" ในคำสั่ง "ประเภทข้อมูล" เพื่อปิดใช้งานเอาต์พุตของส่วนหัวบางส่วน
  • ในการตั้งค่า แทนที่จะเป็นค่า "ไม่ จำกัด" คุณสามารถระบุ "u" ได้แล้ว
  • เพิ่มคำสั่งใหม่:
    • "define-prefix" เพื่อกำหนดคำสั่งคำนำหน้าของคุณเอง
    • "|" หรือ "ไปป์" เพื่อรันคำสั่งและเปลี่ยนเส้นทางเอาต์พุตไปยังคำสั่งเชลล์
    • “ด้วย” เพื่อรันคำสั่งที่ระบุพร้อมการตั้งค่าที่เปลี่ยนแปลงชั่วคราว
    • “set may-call-functions” เพื่อควบคุมว่าสามารถเรียกรูทีนย่อยจาก GDB ได้หรือไม่
    • "set print finish [on|off]" เพื่อควบคุมการแสดงค่าที่ส่งคืนเมื่อใช้คำสั่ง "finish";
    • “ตั้งค่าการพิมพ์ความลึกสูงสุด” เพื่อจำกัดเอาต์พุตของโครงสร้างที่ซ้อนกัน
    • “ตั้งค่าการพิมพ์ดิบ [เปิด|ปิด]” เพื่อเปิด/ปิดการจัดรูปแบบของค่าเอาท์พุต
    • “ตั้งค่าการบันทึก debugredirect [เปิด | ปิด]” เพื่อควบคุมการบันทึกเอาต์พุตการดีบักไปยังไฟล์บันทึก
    • ชุดคำสั่ง "set style" ใหม่
    • “set print frame-info […]” เพื่อกำหนดข้อมูลที่ควรจะพิมพ์เมื่อแสดงสถานะเฟรมสแต็ก
    • “set tui compact-source” เพื่อเปิดใช้งานโหมดกะทัดรัดสำหรับการแสดงโค้ดในอินเทอร์เฟซ TUI (Text User Interface)
    • “โมดูลข้อมูล […]” เพื่อขอข้อมูลเกี่ยวกับโมดูล Fortran
    • แทนที่จะเสนอ "set/show print raw frame-arguments" จะมีการเสนอคำสั่ง "set/show print raw-frame-arguments" (ใช้เครื่องหมายขีดแทนช่องว่างเป็นตัวคั่น)
  • ในอินเทอร์เฟซซอฟต์แวร์ควบคุม จีดีบี/มิชิแกน เพิ่มคำสั่งใหม่ “-สมบูรณ์”, “-catch-throw”, “-catch-rethrow”, “-catch-catch”, “-สัญลักษณ์-info-ฟังก์ชั่น”, “-สัญลักษณ์-ข้อมูลประเภท”,
    "-สัญลักษณ์-ข้อมูล-ตัวแปร", "-สัญลักษณ์-ข้อมูล-โมดูล", "-สัญลักษณ์-ข้อมูล-โมดูล-ฟังก์ชัน" และ "-สัญลักษณ์-ข้อมูล-โมดูล-ตัวแปร" เทียบเท่ากับคำสั่ง GDB เดียวกัน ตามค่าเริ่มต้น เวอร์ชันที่สามของล่าม MI จะถูกเปิดใช้งาน (-i=mi3)

  • เพิ่มตัวแปรบิวท์อินใหม่:
    • $_gdb_major, $_gdb_minor;
    • $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting,
    • $_gdb_maint_setting_str
    • $_cimag, $_creal
    • $_shell_exitcode, $_shell_exitsignal
  • เพิ่มตัวเลือก “--with-system-gdbinit-dir” ให้กับสคริปต์บิลด์กำหนดค่าเพื่อกำหนดเส้นทางไปยังไฟล์ระบบ gdbinit
  • มีการปรับปรุงหลายอย่างใน Python API เพิ่มความสามารถในการสร้างด้วย Python 3 บน Windows
  • ข้อกำหนดสำหรับสภาพแวดล้อมการประกอบเพิ่มขึ้น การสร้าง GDB และ GDBserver ตอนนี้ต้องใช้ GNU เวอร์ชัน 3.82 เป็นอย่างน้อย เมื่อสร้างด้วยไลบรารี Readline ภายนอก จำเป็นต้องมี GNU Readline 7.0 เป็นอย่างน้อย

ที่มา: opennet.ru

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