繁体   English   中英

gdb:退出程序而不退出gdb

[英]gdb: exit program without exiting gdb

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

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

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

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

看起来在Windows下,你必须使用Ctrl-Break而不是Ctrl-C 看到这个页面

摘抄:

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

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

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

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

就像Manlio说的那样,在这种情况下你想要的是kill ,它会提示你一条消息:

Kill the program being debugged? (y or n)

如果键入help running您将看到执行常见操作时需要了解的所有重要命令,例如停止执行当前程序。 这些应该是您正在运行的程序的所有命令,而不是gdb。

贝壳

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM