gdb:退出程序而不退出gdb

我正在使用gdb调试程序。 首先,我load我的可执行文件,然后continue运行该程序。 我有时想要中断我的程序的执行,所以我做Ctrl + C

我的问题是这关闭我的程序和gdb。 如何在不退出gdb的情况下退出程序?

看起来在Windows下,你必须使用Ctrl-Break而不是Ctrl-C 。 见本页 。

摘抄:

调用SetConsoleMode以关闭“Ctrl-C”键击特殊含义的MS-Windows程序不能通过键入Cc来中断。 因此,MS-Windows上的gdb支持C-作为备用中断键序列,即使它忽略了Cc,也可用于中断调试对象。

你有没有试过在gdb里面使用kill

使用ctrl-c中断应用程序。 然后从GDB提示符运行“signal SIGINT”,它会将此信号发送到您的应用程序,使其执行与从命令行执行ctrl-c时通常所做的相同操作。

首先运行程序(不是从gdb内部),然后找到它的pid。

在另一个shell中,运行gdb --pid= 。 这将gdb附加到正在运行的程序。 它会停止程序的执行,因此问题c继续。

现在退出你的程序,你的gdb会话将保持在那里。