我使用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.
为什么我会得到详细的输出,为什么我不能单步执行代码?
答案 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 ......