如何避免GDB在程序暂停时自动显示信息?
GDB暂停时抑制冗余输出的解决办法
临时生效设置(单次GDB会话内)
直接在GDB命令行输入以下命令:
- 关闭信号接收的详细提示:
set print signal-handlers off - 禁止自动打印当前栈帧的代码行与位置:
set print frame-arguments none - 禁用自动显示变量(比如你例子里的
blink_led_state):disable display(如果之前用display加过自动监控变量,这个命令会关掉所有自动显示项)
持久生效设置(每次启动GDB自动应用)
在用户主目录或者当前项目目录下创建.gdbinit文件,写入以下内容:
set print signal-handlers off set print frame-arguments none disable display
之后每次启动GDB,这些设置会自动加载。
要是只想保留^C提示
如果希望只留下^C标记,去掉后续所有输出,再加一条命令:set verbose off
这样执行c后按Ctrl+C,输出会变成:
(gdb) c Continuing. ^C (gdb)
注:^C是终端本身的中断提示,GDB没法完全屏蔽它,只能去掉后面GDB生成的冗余信息。
内容的提问来源于stack exchange,提问作者Barzi2001
相关产品推荐
相关产品推荐

