考虑:
(gdb) q
A debugging session is active.
Inferior 1 [process 9018] will be killed.
Quit anyway? (y or n) y
什么是.gdbinit
选项,使GDB始终在退出请求时终止正在运行的进程?
我知道GDB可以附加到已经运行的进程,因此在退出时杀死它们会很糟糕。但是对于从它开始的过程,确认你的行为的需要开始在第二次退出时烦恼。
答案 0 :(得分:60)
关闭全局禁用确认提示会禁用许多其他有用的检查,例如在您键入“删除”时询问您是否确实要删除所有断点的检查。
最好只为quit命令禁用提示符。您可以通过将此挂钩添加到〜/ .gdbinit(对于当前用户)或/ etc / gdb / gdbinit(对于所有用户)来执行此操作:
define hook-quit
set confirm off
end
答案 1 :(得分:27)
set confirm off
有关详细信息,请参阅gdb doc
答案 2 :(得分:11)
另一种选择是定义一个退出但不要求确认的新命令:
define qquit
set confirm off
quit
end
document qquit
Quit without asking for confirmation.
end
现在,您可以使用qquit
或qq
快速退出,而无需更改quit
的默认行为
答案 3 :(得分:4)
最后,这将直接运行该程序,并且不要求退出确认:
gdb -ex="set confirm off" -ex=r --args ...
答案 4 :(得分:-3)
<强>类型: Ctrl + D
强>
<强>之前强>
xx @ yy:〜&gt;
(gdb)
<强>后强>
(gdb)退出
,然后强>
xx @ yy:〜&gt;