4

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

编辑清晰:

这里涉及2个过程。有进程 A,它是 GDB 的父进程。GDB 正在管理一个进程,但它在远程主机上,我们称该进程为 C。

当我告诉 GDB “运行”时,它会启动远程主机上的进程 C 并阻塞,直到遇到断点,进程 C 遇到错误或致命信号,或者 GDB 本身接收到中断信号。如果以交互方式工作,您只需在 GDB 命令控制台上按 CTRL+C,GDB 将其解释为 SIGINT(不知何故),触发 GDB 停止进程 C。因为我实际上是用进程 A 管理 GDB(而不是处理它)在 shell 交互)我不能很好地按下 Ctrl+C,而且由于 windows 没有像 UNIX 中那样的“信号”的原生概念,我不知道如何在 GDB 阻塞等待进程 C 时中断它中断或命中断点。

4

1 回答 1

2

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

编辑:这似乎是-exec-interrupt中断执行的原因。

于 2010-12-03T13:10:53.780 回答