从 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中的条目还是一些?再次感谢。
答案 0 :(得分:0)
据我所知,没有办法禁用这些。
如果您有set print inferior-events on
,则会打印一些额外的消息。所以,确保它已关闭。但是,它可能适合您,因为这是默认设置。
您可以使用define
编写自己的包装并将其重定向到/dev/null
来使某些特定命令变得安静。
我认为让用户更多地控制输出将是对gdb的合理功能请求。
答案 1 :(得分:0)
您可以取消"错过单独的debuginfos"使用命令set build-id-verbose 0
投诉(此设置似乎没有详细记录)。
如果使用gdb启动程序时出现这些警告,将该行包含在.gdbinit
文件中可能会很有用。