2016-11-30 38 views
8

我現在正在使用emacs 25.1和gdb 7.12。但是當我運行「Mx gdb -i = mi a.out」,然後設置中斷點併發出下一個命令時,一個源代碼窗口一直彈出以獲得焦點,然後如果我想再次發出下一個命令,則必須切換到首先是gdb窗口,否則,鍵盤輸入將直接指向源代碼文件。emacs gdb源代碼窗口焦點問題

我們應該關注gdb窗口,而不是將焦點切換到源代碼窗口。

我錯了,使用此gdb模式?順便說一句,gud-gdb模式工作正常。 enter image description here

+0

@Gabor Retvari - 如果在不久的將來沒有人會回答,請考慮添加特定的Emacs命令,以便任何使用Emacs的人都可以跟蹤源代碼。就目前而言,不熟悉使用這個庫的人不知道當用戶「想要再次發出下一個命令」時調用了Emacs命令。換句話說,請仔細閱讀並編輯它,以包含正在發佈的確切Emacs命令。然後,即使我們不使用圖書館,任何數量的論壇參與者都可以回答這個問題。 – lawlist

+0

小澄清:對於我來說,當不使用'gdb-many-windows'模式時會出現問題(例如,當'gud-gdb'設置爲僅顯示命令緩衝區和源緩衝區時,我認爲這是最方便的模式但是,不幸的是,我似乎無法找到一種系統地觸發它的方法:在某些時候焦點變得混亂,然後一個簡單的'run'或'next'命令突然出現在源緩衝區中,而不是命令緩衝區。我設定了獎金,希望有知識的人能找到爲什麼會出現這種煩人的行爲,以及如何解決這個問題。 –

回答

1

幾件事情:

1)他們(我知道,我知道......誰是 「他們」 :-)已經搞亂使用gdb。

2)請參見#1

我通常的解決方案類型的人,但解決方法在這種情況下工作,現在。

a)使用GUD-GDB代替GDB

b)向保持gdb命令窗口被打一頓,使用:

​​

我爲使用如下:

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

保持前面的功能有點完好。

希望這會有所幫助。