4

Ctrl+C (または別のプロセスから送信された同等のシグナル) を使用せずに下位を停止する方法はありますか?プログラムがブレークポイントなしで自由に実行されている場合、プログラムの実行を中断する良い方法ではありません。

明確にするために編集:

ここには 2 つのプロセスが含まれます。GDB の親であるプロセス A があります。GDB はプロセスを管理していますが、それはリモート ホスト上にあり、そのプロセスを C と呼びます。

GDBに「実行」するように指示すると、リモートホストでプロセスCが開始され、ブレークポイントに到達するか、プロセスCがエラーまたは致命的なシグナルに遭遇するか、GDB自体が割り込みシグナルを受信するまでブロックされます。インタラクティブに作業している場合は、GDB コマンド コンソールで CTRL+C を押すだけで、GDB は SIGINT として解釈し (何らかの方法で)、GDB をトリガーしてプロセス C を停止させます。 Windows には UNIX のような「シグナル」のネイティブな概念がないため、プロセス C の待機をブロックしているときに GDB を中断する方法がわかりません。ブレークポイントを中断またはヒットします。

4

1 に答える 1

2

リモートコントロールプロトコルを調べてみましたか? たとえば、EMACSMIを使用して GDB を制御します。そのようなctrl-Cメカニズムを提供する方法/提供するかどうか、およびそれを実装する方法を確認する必要があります。

編集:-exec-interrupt実行を中断するのはどちらのようです。

于 2010-12-03T13:10:53.780 に答える