如何禁止gdb运行进程附件信息?

时间:2015-04-28 20:39:45

标签: gdb

dbx 移至 gdb

我想永久禁止 gdb 在我的终端上输出信息,同时完整地附加到正在运行的进程。有谁知道这是怎么做到的吗?谢谢你的帮助。

示例(64位CentOS 6.6)会话:

gdb -p 12345
Attaching to process 12345
Reading symbols from /some/path/to/my/ELF executable...done.
Reading symbols from /some/other/path/to/my/library.so...done.
Loaded symbols for /some/other/path/to/my/library.so
[New LWP 12345]
[New LWP 12345]
[New LWP 12345]
[New LWP 12345]
[Thread debugging using libthread_db enabled]
0x000000338a6aca3d in nanosleep () from /lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install ...

实际上有以上多个屏幕'阅读'和'#39;正在加载'我为了理智而手动压制的条目。关于"缺少单独的debuginfo"还有4个100个字符的长串投诉。我也手动压制帖子。

不想看到任何一个。我想要的只是:

gbd -p 12345
in nanosleep () from /lib64/libc.so.6

这有点无用 - 当前文件和函数名称加上行号和线程ID在哪里?但我愿意忽视这一点。对于现在抑制输出更感兴趣(不引出它)。

使用gdb可以轻松实现吗? .gdbinit中的条目还是一些?再次感谢。

2 个答案:

答案 0 :(得分:0)

据我所知,没有办法禁用这些。

如果您有set print inferior-events on,则会打印一些额外的消息。所以,确保它已关闭。但是,它可能适合您,因为这是默认设置。

您可以使用define编写自己的包装并将其重定向到/dev/null来使某些特定命令变得安静。

我认为让用户更多地控制输出将是对gdb的合理功能请求。

答案 1 :(得分:0)

您可以取消"错过单独的debuginfos"使用命令set build-id-verbose 0投诉(此设置似乎没有详细记录)。

如果使用gdb启动程序时出现这些警告,将该行包含在.gdbinit文件中可能会很有用。