在GDB中使用CTRL+C终止程序

54

当我在命令窗口按下CTRL+C时,我的程序将停止执行。现在,在这个停止阶段中,我遇到了一个关键错误,因此我想使用gdb进行调试。

问题是,gdb将CTRL+C重新定义为自己的中断,并在按下时暂停执行。我该如何处理才能使CTRL+C关闭我的程序,并且gdb能够捕获堆栈跟踪?


相关链接:https://dev59.com/hG025IYBdhLWcg3wblc3 - alk
1个回答

72

(gdb) 提示符处,输入 signal SIGINT。这将向正在调试的程序发送(意外)SIGINT 信号。

或者,handle SIGINT nostop print pass 将使 GDB 直接将信号传递给下属(正在被调试的)进程。


8
Ctrl-Z 在 GDB 中起作用:它暂停进程并让你回到 (gdb) 提示符。 - Felix

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接