带有emacs技巧的GDB

时间:2010-09-16 06:02:30

标签: emacs gdb

我最近切换到了gdb-emacs集成,它很酷,因为你不再需要每次都有一个源代码列表,虽然我想念一些功能或者我可能不知道怎么做它们?

我在命令行模式emacs -nw中使用emacs,因为我不喜欢离开控制台。

  1. 现在当我在gdb下执行一些命令c1然后想重新执行它时,我想我可以使用up-arrow键访问我以前的命令。相反它吸引了我。在emacs x-window模式下,这可以由ctrl+up-arrow完成。但不是在这种情况下。

  2. 显示源代码的部分恰好是可编辑的,我不希望它如此,我可以吗?

  3. 如何在两个分段之间切换?

  4. 我通常使用vi,因此对于我来说这些对于emacs用户来说并不直观;)。

    THX。

2 个答案:

答案 0 :(得分:7)

  

1 /现在当我执行一些命令时说c1   在gdb下然后想重新执行   它,我想我可以访问我以前的   命令使用向上箭头键。   相反它吸引了我。在emacs中   x窗口模式,这可以通过   Ctrl +向上箭头。但不是在这种情况下。

在我的情况下,即使使用-nw启动emacs,它也可以使用 C-up 工作。也许你在emacs级别或终端级别的键绑定有问题。执行 Ch k C-up 检查C-up是否真的与同时按下Control键和Up键相关联。

  

2 /显示源代码的部分恰好是可编辑的,I   不要这样,我可以吗?

使用 C-x o 转到包含源代码的窗口。然后,您可以通过按 C-x C-q 使缓冲区成为只读。

  

3 /如何在两个分段之间切换?

如果您的意思是“窗口”,则可以使用 C-x o 更改GDB图形界面的当前活动窗口。或者您可以通过在.emacs中添加以下行来使用windmove:

(windmove-default-keybindings)

然后,您可以使用 S-right S-left S-up S-down在窗口之间移动点

答案 1 :(得分:1)

  

现在当我执行一些命令时说c1   在gdb下然后想重新执行   它,我想我可以访问我以前的   命令使用向上箭头键。   相反它吸引了我。在emacs中   x窗口模式,这可以通过   Ctrl +向上箭头。但不是在这种情况下.ctrl +向上箭头。但不是在这种情况下。

尝试使用Alt-P和Alt-N循环浏览已插入的命令。希望它能为你工作:)一个Alt-P应该返回你输入的最后一个命令。这不仅用于GDB模式,而且用于emacs中的许多地方,它应该适用于大多数控制台配置,即使在那些ctrl-up不起作用的配置中也是如此。例如,如果按Alt-X编写命令(如 gdb ),则可以按Alt-P重新键入上次使用Alt-X时输入的命令。

  

显示源代码的部分恰好是可编辑的,I   我不希望它如此,我可以吗?不希望它如此,我可以吗?

自动?据我所知(但我不是emacs专家),很少有东西。在emacs中有 hooks 或lisp函数,您可以定义在某些情况下调用它们。例如,有一个C模式的钩子,在使用c模式时会被调用(当你不熟悉模式时打开.c文件),你可以自定义你的C编程设置那里(就像你想要使用的缩进类型)。不幸的是,在GDB相关模式(称为GUD)中没有很多钩子,并且该模式中的任何钩子都不适合你。

是一个通用的钩子,用于访问文件(当它打开时),但它非常通用。

手动,Jérôme友情提供的回复将有效。

为我相当糟糕的英语道歉。