A.5. GDB 中的更改


Red Hat Developer Toolset 11.0 使用 GDB 10.2 提供。

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

新功能

  • 在支持此功能的架构上默认启用了多线程符号加载。这个更改为带有许多符号的程序提供了更好的性能。
  • 文本用户界面(TUI)窗口可以水平排列。
  • GDB 支持同时调试多个目标连接,但这种支持是实验性的且有限的。例如,您可以将每个低端连接到运行在另一台计算机上的不同的远程服务器,或者您可以使用一个低端来调试本地原生进程或一个 core dump 或某些其他进程。

新的和改进的命令

  • 新的 tui new-layout name window weight [window weight…] 命令创建一个新的文本用户界面(TUI)布局,您也可以指定布局名称和显示的窗口。
  • 改进的 alias [-a] [--] alias = command [default-args] 命令可以在创建新别名时指定默认参数。
  • set exec-file-mismatchshow exec-file-mismatch 命令集,并显示新的 exec-file-mismatch 选项。当 GDB 附加到正在运行的进程时,此选项控制 GDB 在检测到当前由 GDB 加载的可执行文件和用来启动进程的可执行文件不匹配时如何做出反应。

Python API

  • gdb.register_window_type 函数在 Python 中实现新的 TUI 窗口。
  • 现在,您可以查询动态类型。gdb.Type 类的实例可以有新的布尔属性 dynamicgdb.Type.sizeof 属性对动态类型可以有值 None。如果 Type.fields() 返回动态类型字段,则其 bitpos 属性的值可以是 None
  • 新的 gdb.COMMAND_TUI 常量将 Python 命令注册为 TUI 帮助类命令的成员。
  • 新的 gdb.PendingFrame.architecture() 方法检索待处理帧的架构。
  • 新的 gdb.Architecture.registers 方法返回 gdb.RegisterDescriptorIterator 对象,后者是返回 gdb.RegisterDescriptor 对象的迭代器。此类对象不提供寄存器的值,但帮助了解哪些寄存器可用于某一架构。
  • 新的 gdb.Architecture.register_groups 方法返回 gdb.RegisterGroupIterator 对象,后者是返回 gdb.RegisterGroup 对象的迭代器。此类对象帮助了解哪些寄存器组用于某一架构。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat