4

我在 emacs 中使用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 频道上有一些关于它的争吵,一个人实际上声称它为他工作,但我也有非常奇怪的行为。谷歌搜索还揭示了以下(以及更多):gud-gdb emacs 24 not working

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

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

于 2012-09-15T17:23:18.083 回答
0

为了将来参考,我正在运行 10.7 和 emacs 24.3。xcode 4(该平台的最新版本)附带的 gdb 版本太旧,无法使用 gdb 模式。如果您从源代码获取最新的并构建它,使用 macports 获取其依赖项,(当时 gdb 的 macports 构建对我不起作用),gdb 模式可以工作,包括 gdb-many-windows,我强烈推荐.

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

于 2014-03-06T01:29:34.987 回答