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会话将保持在那里。