Emacs 23.1.1 с gdb - форсирование исходных окон - PullRequest
6 голосов
/ 13 августа 2010

Я использую emacs 23.1.1 с gdb и gdb-many-windows.

Мой вопрос: возможно ли заставить gdb всегда использовать главное окно исходного кода для пошагового выполнения кода.Происходит следующее: когда я перемещаюсь по фреймам стека, если у меня возникает исходный файл в других фреймах emacs, emacs выводит этот фрейм на передний план, оставляя кадр gud в фоновом режиме с фокусом клавиатуры.

Что я хотел бы сделать, так это заставить emacs / gdb использовать окно первичного источника для всей трассировки, даже если где-то есть другой кадр с тем же исходным файлом.

Любойидеи?

1 Ответ

3 голосов
/ 27 ноября 2013

Моя версия 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 с аргументом 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.

Чтобы избежать разделения окнаВы можете попробовать это:

(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
    ))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...