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架构提供了使用硬件断点(观察点)的能力。
  • 在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

添加评论