gdb从子进程fork后分离 - 禁用?

问题描述:

在gdb中获取此消息。我知道这不是一个错误或任何东西。我也做了分页,所以这不是一个问题。gdb从子进程fork后分离 - 禁用?

有什么办法可以压制这条信息吗?

+0

由于我没有得到答案,似乎我的问题是错误的。让我改述一下.. 问:gdb有分页选项,通过这个选项你可以不停地滚动任何你有的警告。这在大部分时间都适用。我能够抑制一些中断和信号。 但是 当你使用多线程,fork,exec等大型二进制文件时,它会一直给你提供各种信息/警告。这有点令人烦恼。 有什么办法可以压制这个警告吗? – Jack 2009-11-21 10:11:16

我很好奇,想看看这个问题是没有答案......

我获得的GDB manual,和它说(在部分 - PDF“第九版,广发行版本7.0.50.20091228”的P33):

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

set print inferior-events C:

当下级都在gdb的控制使用 set print inferior-events启动或退出时收到通知ommand允许您在gdb发出新的下级已启动或 下级已退出或已被分离的情况下启用或禁用消息打印 。默认情况下,不会打印这些消息 。

show print inferior-events 

是否显示GDB时检测到下级已 启动,退出或已被分离的消息将被打印出来。

我唯一关心的就是它意味着你不应该在默认情况下看到这些消息。只要确保您的设置符合默认设置并且不要覆盖它们。

第4.11节“调试叉”(第38-40页)也与您有关。

+1

这个答案是真实的,但无关紧要。请参阅下面的答案。 – musiphil 2012-02-08 22:45:01

我试过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)

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

+0

该补丁何时应用于Fedora?而且,全世界都没有运行Fedora - 原来的问题没有指定Linux,更不用说Fedora了。你已经做了一些有趣的研究,但是Fedora特定的补丁不会影响GDB用户的普遍性。你的答案可能与某些人有关;但是你的一揽子断言是,原来的答案,这是有用的几年,是无关紧要的,似乎有点OTT。 – 2012-02-08 22:52:42

+2

Jonathan,请注意,我只是在最后添加了Fedora用户的信息(因为我碰巧在Fedora上遇到了同样的问题),而我之前提到的所有“系统”都适用于所有系统,因为它直接来自原始gdb-7.3的来源。特别是在任何系统上,**'set print inferior-events off'不会关闭'fork from child process'之后的脱离。** 我不能确定何时应用修补程序,但文件'gdb-6.6-bz235197-fork-detach-info.patch'在'gdb-7.2-52.fc14.src.rpm'中,补丁文件的日期为2011-11-09。 – musiphil 2012-02-09 03:27:33