Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从子进程分叉后gdb分离-禁用?_Gdb_Fork - Fatal编程技术网

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

从子进程分叉后gdb分离-禁用?,gdb,fork,Gdb,Fork,在gdb中获取此消息。我知道这不是一个错误或什么。我也做了分页,所以这不是一个问题 有什么方法可以抑制这个消息吗?我很好奇这个问题没有得到回答 我获得了,它说(在PDF第九版第33页,gdb版本7.0.50.20091228中): 在gdb的控制下启动或退出时通知下级 设置打印不良事件: set print inferior-events set print inferior-events on set print inferior-events off 设置打印不良事件命令允许您启用或禁用

在gdb中获取此消息。我知道这不是一个错误或什么。我也做了分页,所以这不是一个问题


有什么方法可以抑制这个消息吗?

我很好奇这个问题没有得到回答

我获得了,它说(在PDF第九版第33页,gdb版本7.0.50.20091228中):

在gdb的控制下启动或退出时通知下级
设置打印不良事件

set print inferior-events
set print inferior-events on
set print inferior-events off
设置打印不良事件
命令允许您启用或禁用 当gdb发现新的下级已经开始或 下级已经退出或被分离。默认情况下,这些消息将 不能打印

show print inferior-events
显示当gdb检测到下级有错误时是否打印消息 已启动、退出或已分离

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


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

我尝试了
关闭打印不良事件,但没有禁用消息。实际上,
打印劣质事件
在我试图关闭它之前就已经关闭了

我查看了
gdb
源代码,发现
打印劣质事件
只控制消息的打印
“[新劣质%d]”
“[劣质%d退出]”
,和
“[劣质%d分离]”

消息
在fork之后从子进程分离
verbose
debug lin lwp
选项控制。然而,在Fedora系统上,消息总是打印出来的,因为它们有一个补丁(即
gdb-6.6-bz235197-fork-detach-info.patch
)可以

if(info_verbose|debug_linux_nat)

进入

if(1/*Fedora Bug 235197*/|info|u verbose | debug|u linux_nat)


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

因为我没有得到答案,所以我的问题似乎放错了。让我换一种说法。。问:gdb有分页关闭选项,通过该选项,您可以使用任何警告保持滚动。这在大多数情况下都有效。我能够抑制一些中断和信号。但是,当您使用具有多个线程、fork、exec等的大型二进制文件时,它会不断向您提供各种信息/警告。有时候这很烦人。有没有办法压制这种警告?这个答案是正确的,但并不重要。请看下面我的答案。那个补丁什么时候贴在Fedora上的?而且,全世界都没有运行Fedora——最初的问题并没有指定Linux,更不用说Fedora了。您已经做了一些有趣的研究,但是Fedora特定的补丁不会影响GDB用户的通用性。你的回答可能与某些人有关;但是,你笼统地断言,最初的答案(有用了几年)是不相关的。乔纳森,请注意,我只是在最后为Fedora用户添加了信息(因为我碰巧在Fedora上遇到了同样的问题),我前面提到的所有“然而”都适用于所有系统,因为它直接来自原始的
gdb-7.3
。特别是,在任何系统上,
关闭打印劣质事件
都不会关闭消息
从子进程分离fork之后
。我不能确定补丁是何时应用的,但文件
gdb-6.6-bz235197-fork-detach-info.patch
位于
gdb-7.2-52.fc14.src.rpm
,补丁文件日期为2011-11-09。