gpt4 book ai didi

带有 gdb 的 Emacs 23.1.1 - 强制源窗口

转载 作者:行者123 更新时间:2023-12-04 15:37:36 25 4
gpt4 key购买 nike

我正在使用带有 gdb 和 gdb-many-windows 的 emacs 23.1.1。

我的问题是是否可以强制 gdb 始终使用主源窗口来单步执行代码。
发生的情况是,当我在堆栈帧中移动时,如果我碰巧将源文件放在另一个 emacs 帧中,emacs 会将该帧带到前台,同时将 gud 帧保留在具有键盘焦点的背景中。

我想要做的是强制 emacs/gdb 使用主源窗口进行所有跟踪,即使有另一个具有相同源文件的框架。

有任何想法吗?

最佳答案

我的 emacs 版本是 24.3。所以我不确定以下建议是否能解决您的问题:

(defadvice gud-display-line (before one-source-window activate)
"Always use the same window to show source code."
(let ((buf (get-file-buffer true-file)))
(when (and buf gdb-source-window)
(set-window-buffer gdb-source-window buf))))

我找到了 gud-display-line与 arg true-file在旧来源那里:
http://www.mit.edu/~mkgray/stuff/ath/afs/oldfiles/project/silk/root/afs/athena.mit.edu/contrib/xemacs/OldFiles/share/xemacs-packages/lisp/debug/gdb.el

此外, gdb-source-window可以在关于 23.1 的讨论中找到:
https://groups.google.com/forum/#!topic/gnu.emacs.bug/KS6bhNeJ9rc

因此,看起来我使用的东西应该在23.1中可用。

为了避免窗口 split ,你可以试试这个:

(defadvice gud-display-line (around one-source-window activate)
"Always use the same window to show source code."
(let ((buf (get-file-buffer true-file)))
(when (and buf gdb-source-window)
(set-window-buffer gdb-source-window buf)))
(let (split-width-threshold split-width-threshold)
ad-do-it
))

关于带有 gdb 的 Emacs 23.1.1 - 强制源窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3473134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com