GDB 11.1 正式发布

来源: 投稿
作者: 御坂弟弟
2021-09-14

GNU 调试器 GDB 11.1 现已发布。GDB 是 Ada、C、C++、Go 与 Rust 等源代码级调试器语言,它可以在最流行的 GNU/Linux、Unix 和 Windows 变体上运行,并且调试十几种不同的处理器架构。

主要更新内容

  • 已删除对 ARM Symbian (arm*-*-symbianelf*) 的支持
  • 构建 GDB 现在需要 GMP(GNU 多精度算术库)
  • 新的命令行选项 "--early-init-command"(或 "-eix")和 "--early-init-eval-command"(或 "-eiex")
  • GDB/MI 更改:
    • "-break-insert" 和 "-dprintf-insert" 命令的新 --qualified 选项
    • "-break-insert" 和 "-dprintf-insert" 命令的新 --force-condition 选项
    • "-break-condition" 命令的新 --force 选项
    • "-file-list-exec-source-files" 现在接受一个可选的正则表达式来过滤结果中包含的源文件
    • "-file-list-exec-source-files" 的结果现在包含一个 "debug-fully-read" 字段,以指示相应源的调试信息是否已部分读取 (false) 或已完全读取 (true)
  • TUI 改进:
    • 现在支持鼠标操作。鼠标滚轮滚动相应的窗口
    • 在聚焦窗口上没有特定操作的组合键现在传递给 GDB
  • Python 增强功能:
    • Inferior objects 现在包含一个只读的 'connection_num' 属性,它给出了在 "info connections" 和 "info secondarys" 中看到的连接号
    • 新方法 gdb.Frame.level() 返回框架对象的堆栈级别
    • 新方法 gdb.PendingFrame.level() 返回框架对象的堆栈级别
    • 当命中一个捕获点时,Python API 现在将发出 gdb.BreakpointEvent 而不是 gdb.StopEvent。附加到事件的 gdb.Breakpoint 类型为 BP_CATCHPOINT
    • Python TUI 窗口现在可以接收鼠标单击事件。如果 Window 对象实现了 click 方法,则此窗口中的每个鼠标单击事件都会调用它
    • 新设置 "python ignore-environment on|off",如果为 "on",则导致 GDB 的内置 Python 忽略任何会影响 Python 行为的环境变量(需要在 "早期初始化" 期间设置(见上文)
    • 新设置 "python dont-write-bytecode auto|on|off"
  • Guile API 增强功能:
    • 改进了对右值引用的支持
    • 获取值变量的新程序:value-reference-value、value-rvalue-reference-value 和 value-const-value
  • 新的 "qMemTags" 和 "QMemTags" 远程协议包(与内存标记相关)
  • 当条件在一个或多个位置无效时,"break [...] if CONDITION" 命令不再返回错误。相反,如果条件在一个或多个位置有效,则条件无效的位置将被禁用
  • "condition" 命令的行为已更改以匹配 "break" 命令的新行为
  • 支持通用内存标记功能(目前仅限于 AArch64 MTE)
  • 现在支持 x86_64 Cygwin 程序的核心文件调试
  • RISC-V 目标的新 "org.gnu.gdb.riscv.vector" 功能
  • GDB 现在支持定点类型,这些类型在 DWARF 中被描述为具有定点编码的基本类型。此外,还添加了对 DW_AT_GNU_numerator 和 DW_AT_GNU_denominator 的支持
  • 其它更新:
    • 新的 "startup-quietly on|off" 设置;当 "on" 时,其行为与在命令行上传递 "-silent" 选项相同
    • 新的 "print type hex on|off" 设置; "on" 时,"ptype" 命令使用十六进制表示法打印结构成员的大小和偏移量。"off" 时,使用十进制表示法
    • "inferior" 命令在不带参数的情况下运行时,会打印有关当前次等设备的信息
    • "ptype" 命令现在支持 "/x" 和 "/d",影响用于打印尺寸和偏移量的基数
    • "info source" 的输出已被重组
    • 新的 "style version foreground | background | intensity" 命令来控制 GDB 版本号的样式
    • 各种调试和维护命令(主要供 GDB 开发人员使用)

详情请查看更新公告

展开阅读全文
2 收藏
分享
加载中
最新评论 (1)
追上 LLDB 版本号了?
2021-09-14 15:48
0
回复
举报
更多评论
1 评论
2 收藏
分享
返回顶部
顶部