2009-07-09 60 views
3

有没有一种方法可以在不使用Ctrl + C(或从另一个进程发送的等效信号)的情况下阻止劣势?我使用的是Windows平台,并且从另一个进程管理GDB,因此没有信号概念当没有任何断点的自由运行时,没有一种好方法可以中断我的程序的执行。停止GDB中的劣势进程没有信号?

编辑度:

这里涉及到2个进程。流程A是GDB的母公司。 GDB正在管理一个进程,但它在一个远程主机上,我们将这个进程称为C。

当我告诉GDB“运行”时,它启动远程主机上的进程C并阻塞,直到出现断点命中,进程C遇到错误或致命信号,或GDB本身收到中断信号。如果以交互方式工作,您只需在GDB命令控制台上按CTRL + C,GDB将其解释为SIGINT(以某种方式),触发GDB停止进程C.由于我实际上正在使用进程A管理GDB(并且不处理它交互式地在shell)我不能很好地按下Ctrl + C,并且由于Windows没有UNIX中的“信号”原生概念,所以我无法弄清楚如何在阻塞等待进程C时中断GDB打断或打断点。

+0

你能形容这个更好一点吗?有三个过程涉及?谁是谁的父母? – drudru 2009-07-09 05:06:31

回答

1

您是否试图查看远程控制协议?例如,EMACS使用MI来控制GDB,您应该检查它们是如何/如果它们提供这样的ctrl-C机制,以及它们如何实现它。

编辑:它似乎是-exec-interrupt它会中断执行。

+0

这个答案是现货。 – sehe 2011-04-01 17:38:26