2009-07-09 61 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