2012-09-15 78 views
4

我使用M-x gdb在emacs中輸入gdb。然後,當我執行b main,我得到下面的輸出:Emacs gdb未運行

b main                    
Breakpoint 1 at 0x100000d61: file hanoi.c, line 27.         
         (gdb)               
MI_HOOK_RESULT={HOOK_TYPE="breakpoint_create",bkpt={number="1",type="breakpoint",d\ 
    isp="keep",enabled="y",addr="0x0000000100000d61",func="main",file="hanoi.c",line="\ 
    27",shlib="/Users/rdp/Desktop/Hanoi-Moves_testcases/play",times="0"}},time={wallcl\ 
    ock="0.00104",user="0.00049",system="0.00027",start="1347691065.681152",end="13476\ 
    91065.682197"}  

當我嘗試運行該程序,我得到這樣的輸出:

r                 |21 } 14Starting program: /Users/rdp/Desktop/Hanoi-Moves_testcases/play     
              (gdb)         |24} 16time={wallclock="0.00009",user="0.00005",system="0.00004",start="1347691082.360725\|25 ",end="1347691082.360816"}              (gdb) n 

The program is not being run.       

爲什麼我得到一個詳細的輸出,以及爲什麼我不能單步執行代碼嗎?

+0

張貼我的答案後(見下文),我意識到'gud-gdb'對我來說工作得很好,而'gdb'則打破了。你使用了哪一個? – TaylanUB

+0

gud-gdb現在比較好,但仍然以微妙的方式破碎。但這不是問題。問題是emacs gdb壞了。我的擔心大概是3倍......我擔心(1)emacs用戶只會讓這張幻燈片(2)而不是固定的,一些標準將被引用,聲稱它不會被破壞(3)很快gud-gdb會(我會警惕3號偏執狂,但它是受過教育的偏執狂)。 –

+2

對不起,我對此感到強烈。我試過......放棄了...幾個建議論壇補丁與defuns/progns關於專用窗口(當然我讚賞人們的努力)。我已經使用了Emacs二十多年了,而且我期望Emacs能夠「自己動手」,因爲定製只是* *。基本功能(如gdb)應該可以立即使用。 –

回答

5

Emacs 24似乎破壞了GUD(與gdb和其他調試器的接口)。在IRC頻道上發生了一些爭吵,一個人實際上聲稱它爲他工作,但我也變得非常奇怪的行爲。谷歌搜索也揭示了以下(和更多):gud-gdb emacs 24 not working

我會盡量做一個最小的測試案例,它失敗並提交錯誤報告。

編輯:你可能想嘗試gud-gdb來代替gdb。我不知道有什麼區別,但它似乎爲我工作。 (沒有全面測試。)

+0

在OSX中運行emacs 24.2.1。可以確認gdb的行爲與OP描述的一樣,並且gud-gdb可以正常工作。 – Chap

+0

我不得不切換到gud-gdb以及gdb在emacs 24中完全損壞 - 但gud-gdb在斷點上沒有好的紅色圓圈圖標,這是一個真正的恥辱 – bph

0

爲了將來的參考,我正在運行10.7和emacs 24.3。 xcode 4(此平臺的最新版本)附帶的gdb版本太舊,無法與gdb模式一起使用。如果你從源代碼中獲得最新版本並構建它,使用macports來獲得它的依賴關係(當時gDB的macports構建版本不適合我),gdb模式有效,包括gdb-many-windows,我強烈建議。

編輯:也是,GUD-GDB顯然是一個古老的模式,所以它可以工作,但你「真的」想GDB模式和GDB-許多窗口......