使用GDB摆脱“quit anyway”提示:只需终止进程并退出

时间:2010-12-04 21:39:32

标签: gdb

考虑:

(gdb) q
A debugging session is active.

        Inferior 1 [process 9018] will be killed.

Quit anyway? (y or n) y

什么是.gdbinit选项,使GDB始终在退出请求时终止正在运行的进程?

我知道GDB可以附加到已经运行的进程,因此在退出时杀死它们会很糟糕。但是对于从它开始的过程,确认你的行为的需要开始在第二次退出时烦恼。

5 个答案:

答案 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

现在,您可以使用qquitqq快速退出,而无需更改quit的默认行为

答案 3 :(得分:4)

最后,这将直接运行该程序,并且不要求退出确认:

gdb -ex="set confirm off" -ex=r --args ...

答案 4 :(得分:-3)

<强>类型: Ctrl + D

<强>之前

xx @ yy:〜&gt;

  

(gdb)

<强>后

  

(gdb)退出

,然后

xx @ yy:〜&gt;