Emacs和gdb-many-windows

4

我刚接触Emacs。在许多网站上,有一个设置gdb-many-windows的选项,实际上会像这样分割窗口:

 |   GUD buffer (I/O of GDB)      |   Locals/Registers buffer      |

 |   Primary Source buffer        |   I/O buffer for debugged pgm  |

 |   Stack buffer                 |   Breakpoints/Threads buffer   |

每当我尝试执行"M-x gdb-many-window"时,它都无法识别。 "M-x gdb"等命令可以正常工作,但是"M-x gdb-many-window"不能? 有人遇到过这个问题吗?
1个回答

7
请阅读这篇文章这篇文章。在使用M-x gdb并将gud窗口置于焦点后,M-x gdb-many-windows可用。您的问题表明您正在尝试在使用M-x gdb之前使用M-x gdb-many-windows。请注意按照正确顺序进行操作。

你为什么要执行 M-x gcc -Wall -g hello.c -o hello # 呢? 你是想编译吗?你需要编写一个 Makefile 并执行 M-x compile 来调用 Makefile。 给定在维基上的内容为何不起作用?你预期会发生什么?你正在做什么?实际上发生了什么? - vpit3833
感谢Vpit的快速回复。我试图使用emacs进行C语言调试 (之前我使用的是Visual Studio)。我的第一个问题是 M-x gdb-many-windows 对我无效。我做了以下步骤:1) M-x gdb 2) Minibuffer会显示“Run gdb (like this): gdb ./a.out”3) 我按下回车键 4) 我尝试在minibuffer中输入M-x gdb-many-windows,但它无法识别。另外,在http://www.linuxjournal.com/article/7876中提到的“在菜单栏上选择复选框(Gud->GDB-UI->显示其他窗口)”也无效。 - user530928
1
好的,首先在M-x gdb中启动gdb,然后在minibuffer中提供要调试的二进制文件,或者只需按回车键即可进入gud缓冲区。在gud中,您可以使用所有gdb命令,例如(gdb) "file <file to be debugged>"来加载文件。然后执行M-x gdb-many-windows。然后进行调试。但是您应该学习gdb命令。为了充分利用Emacs的功能,学习其键绑定真的很有帮助,特别是对于gdb模式而言。此外,Emacs的gud也可以处理其他调试器。 - vpit3833
你能告诉我你在哪个操作系统上使用什么版本的Emacs吗?我在我的Debian测试环境中使用Emacs 23.2.1,运行正常。此外,当您启用 M-x toggle-debug-on-error进行调试后,您能显示重复执行步骤时出现的错误信息吗? - vpit3833
我正在使用emacs 21.3.3 Redhat Enterprise Linux WS release 4。同时,我执行了M-x toggle-debug-on-error并重复了步骤。在执行"M-x gdb-many-windows"之前的所有步骤都进行得很好。问题是M-x gdb-many-windows显示"[No match]"。 - user530928
显示剩余11条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接