A.2. GDB 中的更改


Red Hat Developer Toolset 9.0 带有 GDB 8.3

从以前的 Red Hat Developer Toolset 版本开始添加了或修改了以下功能:

常规改进

  • GDB 和 GDBserver 现在允许访问 IBM POWER 系统(PPR,DSCR,TAR,EBB/PMU, 和 HTM 寄存器)上的额外注册。
  • GDB 和 GDBserver 现在支持 IPv6 连接。使用 [ADDRESS]:PORT 表示法或常规 ADDRESS:PORT 方法传递 IPv6 地址。
  • 现在,如果要执行的最后一个命令失败,则批处理模式下的 GDB 现在退出,状态为 1。
  • 现在,CLI 和 TUI 提供了终端样式。有关样式命令列表,请参阅 GDB 用户手册的 Output Styling 部分。GNU Source Highlight 程序也可用于源代码样式。

新命令

  • frame apply [all | COUNT | -COUNT | level LEVEL…​] [FLAG]…​ COMMAND

    • 仅适用于某些帧。
    • 使用 FLAG 参数来选择所需的输出,并设置方法来处理在将 COMMAND 应用到帧时可能得到的错误。
  • taas COMMAND 语法是较短的 线程版本,应用 all -s COMMAND

    • 适用于所有线程,包括错误和空输出的线程。
  • faas COMMAND 语法是一个较短的 帧版本,应用 all -s COMMAND

    • 适用于所有帧,包括带有错误和空输出的帧。
  • tfaas COMMAND 语法是较短的 线程版本,应用 all -s 帧应用所有 -s COMMAND。

    • 适用于所有线程的帧,包括带有错误和空输出的帧和线程。

更改的命令

  • 选择-frameinfo 帧 CLI 命令的更改:

    • 这些命令现在接受帧规格。它可以是 帧级别,也可以是关键字 级别地址功能查看,后跟参数。
    • 需要按地址选择帧或查看当前后端外帧的关键字。
    • 根据级别选择帧不会改变。
    • MI comment -stack-select-frame 保持不变。
  • 目标远程 FILENAME目标 extended-remote FILENAME

    • 如果 FILENAME 是 Unix 域套接字,GDB 会尝试连接到此套接字,也不会打开 FILENAME 作为字符设备。
  • info args [-q] [-t TYPEREGEXP] [NAMEREGEXP]
    info functions [-q] [-t TYPEREGEXP] [NAMEREGEXP]
    info locals [-q] [-t TYPEREGEXP] [NAMEREGEXP]
    info variables [-q] [-t TYPEREGEXP] [NAMEREGEXP][NAMEREGEXP] [NAMEREGEXP]

    前面的四个命令现在有一个新的 [-t TYPEREGEXP] 标志。它将匹配的实体返回为与 TYPEREGEXP 匹配的类型。[-q] 标志禁用打印标头或信息信息。

  • info 功能
    info type
    info variables
    rbreak

    前面的四个命令现在根据 设置语言 选项中选择的语言来确定实体的语法。set language auto 选项会自动选择显示实体的语言。

  • 线程应用 [all | COUNT | -COUNT] [FLAG]…​ COMMAND

    • 添加了新的 [FLAG] 参数。使用 [FLAG] 参数选择所需的输出,并设置方法来处理在将 COMMAND 应用到帧时可能得到的错误。

Python API

  • gdb.Inferior 类型添加了一个新的 progspace 属性。它是与该 inferior 关联的程序空间。
  • 新的 objfiles 方法添加到 gdb.Progspace 类型中。它返回与该程序空间关联的 objfiles 列表。
  • 新的构造器被添加到 gdb.Value 类型中。它用于从 Python 缓冲对象和 gdb.Type 构造 gdb.Value
  • 以下新域被添加来反映对 GDB 内核的更改: gdb.SYMBOL_LOC_COMMON_BLOCK,gdb.SYMBOL_MODULE_DOMAIN, 和 gdb.SYMBOL_COMMON_BLOCK_DOMAIN
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat