2009-09-30 90 views
7

我想從Emacs v22.3.1移到v23.1.1,並且一切都很順利,直到我試圖在Emacs中使用gud運行gdb。在Emacs中使用gdb 23

當我做meta-x gdb並給出'gdb/my/executable/here'的命令時,窗口顯示正常,但是當我按下回車鍵執行命令時,在gdb提示符下鍵入命令時,沒有任何反應,狀態欄顯示'Debugger:run',結果從不顯示。我可以輸入'ctrl-c ctrl-c'來殺死命令並再次獲得'(gdb)'提示,但是另一個命令只是以相同的方式失敗。

這是Linux Centos v4 32bit上的gdb v6.8。

有其他人遇到過這個問題嗎?最好的方法是什麼?

我附從一個提示(不GUD)廣發行,並獲得該堆棧跟蹤:

#0 0x00fd77a2 in _dl_sysinfo_int80() from /lib/ld-linux.so.2 
#1 0x0020108d in poll() from /lib/tls/libc.so.6 
#2 0x08111a07 in gdb_do_one_event (data=0x0) at event-loop.c:759 
#3 0x0810f05f in catch_errors (func=0x8111970 <gdb_do_one_event>, func_args=0x0, errstring=0x8236200 "", mask=6) at exceptions.c:513 
#4 0x080c25e7 in tui_command_loop (data=0x0) at .././gdb/tui/tui-interp.c:153 
#5 0x0810f2cf in current_interp_command_loop() at interps.c:276 
#6 0x0807f0b3 in captured_command_loop (data=0x0) at .././gdb/main.c:99 
#7 0x0810f05f in catch_errors (func=0x807f0a8 <captured_command_loop>, func_args=0x0, errstring=0x8236200 "", mask=6) at exceptions.c:513 
#8 0x0807f7eb in captured_main (data=0xbff00a60) at .././gdb/main.c:882 
#9 0x0810f05f in catch_errors (func=0x807f0e0 <captured_main>, func_args=0xbff00a60, errstring=0x8236200 "", mask=6) at exceptions.c:513 
#10 0x08080027 in gdb_main (args=0x7fffffff) at .././gdb/main.c:891 
#11 0x0807f0a1 in main (argc=-4, argv=0xfffffffc) at gdb.c:33 
#12 0x00153df3 in __libc_start_main() from /lib/tls/libc.so.6 
#13 0x0807efdd in _start() 

回答

11

這是一個瘋狂的猜測:

的Emacs的GUD模式需要GDB獲取運行與註釋開啓以便它可以正確解析輸出。我在點擊M-x gdb後重寫默認行emacs時吐出了一些東西。確保你的gdb命令行中包含「--annotate = 3」,看看是否有幫助。

+0

是,--annotate = 3是有默認。 – WilliamKF 2009-10-01 02:35:33

+2

我在emacs-23.1中使用gdb時沒有任何問題。如果使用文本模式而不是使用M-x gud-gdb的圖形模式,會發生什麼情況?請確保不要從gdb命令行中刪除--fullname選項。 – Nate 2009-10-01 19:12:42

+0

使用M-x gud-gdb它工作正常。 – WilliamKF 2009-10-02 01:06:34

1

我用GDB在Emacs-23 ......至少,我比你...當我試了一下,堆棧窗口將不會更新變得更遠......最後我做什麼了使用emacs-23進行編輯(對於反鋸齒字體善良),而是使用emacs-22調試......您可以同時安裝...

+0

是的,這就是我正在做的(同時運行),但我希望只有一個運行,因爲有一個統一的系統,而不是跨兩個可執行的emacs實例拆分效率更高。 – WilliamKF 2009-10-01 02:36:25