当我逐步完成与gdb的调试会话时,它会为我打印出一些信息。我怎么阻止这个。这是一个例子:
Breakpoint 1, 0x100000d4 in ?? ()
(gdb) si
0x100000d8 in ?? ()
(gdb) si
0x100000dc in ?? ()
(gdb)
在这里,我想删除说0x100000d8 in ?? ()
的行。我在文档中找不到有关抑制此输出的任何内容。有什么想法吗?
由于 添
答案 0 :(得分:1)
您可以使用0x100000d8
禁止打印set print address off
。看source(搜索 static void print_frame (...)
),我不认为可以抑制其余部分。
答案 1 :(得分:1)
有点神秘的解决方案是定义一个打开“日志重定向”的函数,然后逐步执行指令,最后关闭日志记录。例如:
define stepix
set logging redirect on
set logging file /tmp/whatever
set logging on
si
set logging off
end
但该解决方案将抑制所有输出,而不仅仅是0x100000d8 in ?? ()
。可能不适合您的需要/品味。我不认为压制这种输出是可能的。
答案 2 :(得分:0)
现在是2016年,对于那些想要有选择地禁用命令输出的人,我有一个丑陋的解决方案。我不知道你的gdb
应该有多近。
而不是
(gdb) stepi
试试这个
(gdb) python gdb.execute("stepi", to_string=True)
感觉就像这样一个基本功能,如果你有更好的方法请分享,特别是不依赖python
的方式。我真的希望在循环中运行stepi
时避免(可能)性能损失。