Emacs gdb没有运行

时间:2012-09-15 06:44:24

标签: emacs gdb

我使用M-x gdb在emacs中输入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.                           

为什么我会得到详细的输出,为什么我不能单步执行代码?

2 个答案:

答案 0 :(得分:5)

Emacs 24似乎打破了GUD(gdb和其他调试器的接口)。在IRC频道上有一些关于它的争吵,一个人实际上声称它为他工作,但我也变得非常奇怪的行为。谷歌搜索还揭示了以下(以及更多):gud-gdb emacs 24 not working

我会尝试制作一个失败的最小测试用例并提交错误报告。

修改:您可能想尝试gud-gdb代替gdb。我不知道有什么不同,但它似乎对我有用。 (没有全面测试。)

答案 1 :(得分:0)

为了将来参考,我运行10.7和emacs 24.3。随xcode 4一起提供的gdb版本(此平台的最新版本)太旧而无法使用gdb模式。如果从源代码获取最新版本并构建它,使用macports获取其依赖项,(当时gdb的macports版本对我不起作用),gdb模式有效,包括gdb-many-windows,我强烈推荐

编辑:另外,gud-gdb显然是旧模式,所以它可能有效,但你“真的”想要gdb模式和gdb-many-windows ......