【问题标题】:emacs gdb source code window focus issueemacs gdb源代码窗口焦点问题
【发布时间】:2016-11-30 14:28:35
【问题描述】:

我现在使用的是 emacs 25.1 和 gdb 7.12。但是当我运行“M-x gdb -i=mi a.out”,然后设置断点并发出下一个命令时,总是弹出一个源代码窗口以获得焦点,然后如果我想再次发出下一个命令,我必须切换到首先是gdb窗口,否则,键盘输入将直接进入源代码文件。

我们应该把焦点放在 gdb 窗口上,而不是把焦点切换到源代码窗口。

使用这个 gdb 模式我错了吗?顺便说一句,gud-gdb 模式工作正常。

【问题讨论】:

  • @Gabor Retvari -- 如果在不久的将来没有人回答,请考虑添加正在调用的特定 Emacs 命令,以便任何使用 Emacs 的人都可以跟踪源代码。就目前而言,不熟悉使用这个库的人不知道当用户“想再次发出下一个命令”时调用的是什么 Emacs 命令。换句话说,检查问题并编辑它以包含正在发出的确切 Emacs 命令。然后,即使我们不使用该库,任何数量的论坛参与者都可以回答这个问题。
  • 次要澄清:对我来说,当不使用gdb-many-windows 模式时会出现问题(即,当gud-gdb 设置为仅显示命令缓冲区和源缓冲区时,我认为这是最方便的模式当屏幕空间有限时)但不幸的是,我似乎无法找到系统地触发它的方法:在某些时候焦点变得混乱,然后一个简单的runnext 命令突然出现在源缓冲区中的命令缓冲区。我设置赏金是希望有见识的人知道为什么会出现这种烦人的行为以及如何解决它。

标签: emacs gdb


【解决方案1】:

有几点:

1) 他们(我知道,我知道......谁是“他们”?:-) 已经搞砸了 gdb。

2) 见 #1

我通常是一个解决方案类型的人,但目前在这种情况下解决方法有效。

a) 使用 gud-gdb 代替 gdb

b) 要防止 gdb 命令窗口被破坏,请使用:

set-window-dedicated-p

我使用如下:

(defun pgmdb (pgm)
    (gud-gdb (format "gdb -fullname %s" pgm))
    (set-window-dedicated-p nil t)
    )

这使以前的功能保持不变。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-18
    • 1970-01-01
    • 2012-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多