如何继续操作gdb命令控制台?

时间:2009-08-07 03:34:36

标签: debugging gdb

也许是一个简单的问题。

当我附加到某个进程时,我会运行“继续”以使其继续运行。

然后我想要一些其他工作,比如“add-symbol-file”,不需要与目标进程交互,但是在“continue”命令之后,gdb控制台将阻塞,所以在我休息之前我不能做任何动作这个过程。

有没有办法在没有暂停过程的情况下做这样的事情?

3 个答案:

答案 0 :(得分:4)

确保运行gdb的控制台具有键盘焦点,然后按CTRL-C。这通常会导致将SIGINT信号发送到gdb。 有了我,GDB会暂停程序的执行并再次接受用户命令。

如果CTRL-C不起作用(可能是不同的配置),请尝试手动发送信号: 找出gdb的pid,例如使用命令 top ,然后将SIGINT发送到gdb:

kill -2 pidhere

答案 1 :(得分:3)

直到最近你才能做你想做的事,但新发布的 gdb 7.0版具有所谓的“不间断”模式,其中 程序运行时可以使用gdb提示符/控制台。

请参阅http://sourceware.org/gdb/current/onlinedocs/gdb_6.html#SEC47

答案 2 :(得分:1)

您可能希望稍微研究remote gdb mechanisms这样的事情 为了更好地理解调试过程read this short article