2009-09-30 3 views
7

私はEmacs v22.3.1からv23.1.1に移行しようとしていて、Emacs内でgudを使ってgdbを実行しようとするまではうまくいっていました。Emacsでのgdbの使用23

私はmeta-x gdbを実行し、 'gdb/my/executable/here'コマンドを実行するとウィンドウが正常に表示されますが、コマンドを実行するためにreturnキーを押すとgdbプロンプトでコマンドを入力すると、何も起こらず、ステータスバーに「Debugger:run」と表示され、結果が表示されません。 'ctrl-c ctrl-c'を入力してコマンドを終了し、もう一度 '(gdb)'プロンプトを表示することもできますが、別のコマンドでも同じように失敗します。

これはLinux CentOS v4 32bitのgdb v6.8です。

他に誰もこの問題に直面しましたか?何が最善の方法を進めるのですか?

私は(GUDない)プロンプトからgdbをして取り付けられており、このスタックトレースを得た:

#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-modeは注釈がオンになってGDBが実行されることを要求します出力を適切に解析することができます。私は、M-x gdbを打った後で、デフォルトの行emacsが吐き出されたときにこれを書き直しています。 "--annotate = 3"がgdbコマンドラインに含まれていることを確認し、それが役立つかどうか確認してください。

+0

はい、デフォルトで--annotate = 3があります。 – WilliamKF

+2

emacs-23.1でgdbを問題なく使用します。 M-x gud-gdbを使ってグラフィカルモードの代わりにテキストモードを使用するとどうなりますか? GDBのコマンドラインから--fullnameオプションを削除しないでください。 – Nate

+0

M-x gud-gdbを使うとうまくいきます。 – WilliamKF

1

emacs-23でgdbを使用しています...または、少なくとも私はあなたよりも遠くになっています...試してみると、スタックウィンドウは更新されませんでした。 emacs-23を使って編集する(アンチエイリアスのあるフォントの良さ)が、emacs-22を使ってデバッグすることができます...

+0

はい、それは私がやっていることです(両方を実行しています)が、emacsの2つの実行可能インスタンスに分割されずに統合されたシステムを持つ方が効率的であるため、 – WilliamKF

関連する問題