在Emacs 23用gdb(Using gdb in Emacs 23)

2019-08-17 01:20发布

我想从Emacs的v22.3.1移动到v23.1.1,一切都顺利,直到我试图用GUD Emacs中运行GDB。

当我做荟萃X GDB并给予“GDB /我的/可执行/这里”的窗口出现了罚款,但是当我在gdb提示后打回车键执行该命令键入命令,没有任何反应,状态的命令巴说“调试:运行”,结果永远不会显示。 我可以按下“Ctrl-C CTRL-C”,再次杀命令,得到“(GDB)”的提示,但另一个命令,只不过没有以同样的方式。

这是Linux的Centos V4 32位GDB V6.8。

有没有其他人遇到这个问题? 什么是前进的最好方式?

我连着从一个提示(不GUD)广发行和得到这个堆栈跟踪:

#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 ()

Answer 1:

这是一个疯狂的猜测:

Emacs中的GUD模式需要GDB获取运行带有注释的开启,以便它可以正确地解析输出。 我已经有点这种重写默认的行emacs的时候打的Mx gdb的后吐出。 确保“--annotate = 3”包括你的GDB的命令行,看看是否有帮助。



Answer 2:

我已经在Emacs-23用gdb ......至少,我已经得到了远高于你...当我试了一下,堆栈窗口将不会更新......我最终什么事是使用emacs-23做编辑(对于反锯齿字体善良),而是使用emacs-22调试......您可以同时安装...



文章来源: Using gdb in Emacs 23
标签: emacs gdb gud