GDB 13 調試器發布

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)。

主要改進:

  • 新增了在 GNU/Linux/LoongArch 和 GNU/Linux/CSKY 架構上執行偵錯器和 GDBserver 的支援。
  • 已實現對在 Windows 平台上以非同步模式 (async) 工作的支援。
  • 在FreeBSD平台上,針對ARM和AArch64架構增加了對TLS(Thread Local Storage)變數的支持,並為AArch64架構提供了使用硬體斷點(watchpoint)的能力。
  • 在LoongArch系統的GNU/Linux環境中,增加了對浮點運算的支援。
  • 實作了新指令“maintenance setignore-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 中刪除。
  • 新增了對 ELF 檔案中使用 zstd 演算法壓縮的調試部分的支援。
  • 新增了新的內建變數:$_inferior_thread_count、$_hit_bpnum、$_hit_locno。
  • “disassemble /r”和“record instructions-history /r”指令的輸出格式已調整以符合 objdump 的輸出。 為了返回舊格式,新增了“/b”模式。
  • 在 TUI(文字使用者介面)中,停用由目前位置指示器突出顯示的原始程式碼和彙編程式碼的樣式。
  • 可以使用“document”指令來記錄使用者指令。
  • 新增了使用ARMv8.5 MTE(MemTag,記憶體標記擴展)機制時使用的記憶體標記資料建立轉儲的功能,該功能可讓您將標記綁定到每個記憶體分配操作,並在存取記憶體時組織指標檢查,這必須是與正確的標籤相關聯。
  • 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

添加評論