【问题标题】:gdb detaching after fork from child process - disable?从子进程分叉后gdb分离 - 禁用?
【发布时间】:2010-12-10 21:04:52
【问题描述】:

在 gdb 中获取此消息。我知道这不是错误或任何东西。我也做了分页,所以这不是问题。

有什么办法可以屏蔽这条消息吗?

【问题讨论】:

  • 由于我没有得到答案,看来我的问题放错了。让我换个说法。 问:gdb 有分页关闭选项,您可以通过该选项继续滚动您遇到的任何警告。这在大多数情况下都有效。我能够抑制一些中断和信号。但是当您使用具有多个线程、fork、exec 等的大型二进制文件时,它会不断为您提供各种信息/警告。有时这很烦人。有什么办法可以抑制这个警告?

标签: gdb fork


【解决方案1】:

我很好奇这个问题没有答案......

我获得了GDB manual,它说(部分 - PDF '第九版的 p33,用于 gdb 版本 7.0.50.20091228'):

在 gdb 的控制下启动或退出时收到通知 set print inferior-events:

set print inferior-events
set print inferior-events on
set print inferior-events off

set print inferior-events 命令允许您启用或禁用 当 gdb 注意到新的劣势已经开始或 下等人已经退出或已经脱离。默认情况下,这些消息将 不打印。

show print inferior-events

显示当 gdb 检测到低级有时是否打印消息 已启动、退出或已分离。

我对此唯一担心的是,这意味着默认情况下您不应该看到这些消息。只需确保您的设置与默认设置匹配并且不要覆盖它们。

第 4.11 节“调试分叉”(pp38-40) 看起来也与您相关。

【讨论】:

  • 这个答案是正确的,但无关紧要。请参阅下面的答案。
【解决方案2】:

我尝试了set print inferior-events off,但它并没有禁用该消息。实际上,print inferior-events 在我尝试关闭它之前就已经关闭了。

我查看了gdb 源代码,发现print inferior-events 只控制"[New inferior %d]""[Inferior %d exited]""[Inferior %d detached]" 消息的打印。

消息Detaching after fork from child processverbosedebug lin-lwp 选项控制,而不是。但是,在 Fedora 系统上总是会打印消息,因为它们有一个补丁(即 gdb-6.6-bz235197-fork-detach-info.patch)会转

if (info_verbose || debug_linux_nat)

进入

if (1 /* Fedora Bug 235197 */ || info_verbose || debug_linux_nat)

。所以你永远不能关闭它,除非你从源代码中删除补丁并重新编译。

【讨论】:

  • 该补丁何时应用到 Fedora?而且,全世界都没有运行 Fedora - 最初的问题没有指定 Linux,更不用说 Fedora。您做了一些有趣的研究,但 Fedora 特定的补丁不会影响 GDB 用户的普遍性。您的回答可能与某些人有关;但是您一揽子断言原始答案(有用了几年)无关紧要,这似乎有点OTT。
  • 乔纳森,请注意,我最后只是为 Fedora 用户添加信息(因为我在 Fedora 上碰巧遇到了同样的问题),我在“但是”之前提到的所有内容都适用于所有系统,因为它直接来自gdb-7.3的原始来源。特别是,在任何系统上,set print inferior-events off 不会关闭消息 Detaching after fork from child process 我无法确定应用补丁的时间,但文件 gdb-6.6-bz235197-fork-detach-info.patchgdb-7.2-52.fc14.src.rpm 中,补丁文件的日期为 2011-11-09。
猜你喜欢
  • 2011-05-17
  • 2021-02-16
  • 2015-12-12
  • 1970-01-01
  • 2018-03-19
  • 1970-01-01
  • 2011-06-24
  • 1970-01-01
  • 2020-04-26
相关资源
最近更新 更多