4

を使用してemacs内にgdbを入力しM-x gdbます。次に、を実行するb mainと、次の出力が得られます。

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.                           

なぜ詳細な出力が得られるのですか、そしてなぜコードをステップスルーできないのですか?

4

2 に答える 2

5

Emacs 24はGUD(gdbや他のデバッガーへのインターフェース)を壊したようです。IRCチャネルでそれについていくらかの乱闘があり、1人の人が実際にそれが彼のために働くと主張していましたが、私も非常に奇妙な振る舞いをしています。グーグルはまた、以下(およびそれ以上)を明らかにします:gud-gdbemacs24が機能しない

私はそれが失敗する最小限のテストケースを作成し、バグレポートを提出しようとしました。

編集:gud-gdbの代わりに試してみることをお勧めしgdbます。どんな違いがあるのか​​わかりませんが、うまくいくようです。(包括的にテストしませんでした。)

于 2012-09-15T17:23:18.083 に答える
0

将来の参考のために、私は10.7とemacs24.3を実行しています。xcode 4(このプラットフォームの最新版)に付属しているgdbのバージョンは、gdbモードで動作するには古すぎます。ソースから最新のものを入手してビルドし、macportsを使用して依存関係を取得すると(当時、gdbのmacportsビルドは機能していませんでした)、gdb-many-windowsを含むgdbモードが機能します。これを強くお勧めします。

編集:また、gud-gdbは明らかに古いモードなので、機能する可能性がありますが、「本当に」gdbモードとgdb-many-windowsが必要です......

于 2014-03-06T01:29:34.987 に答える