我有一個腳本,它是gdb的包裝器,它只是設置一些環境變量,然後運行gdb。如果我嘗試使用這個腳本來調試emacs中的程序,每當我用C-SPC
設置一個斷點時,文件末尾的那一行從視圖中消失。在emacs中設置斷點時隱藏源緩衝區
劇本是
#/bin/sh
source env.sh
export VARIABLE_FOR_PROGRAM=false
gdb "[email protected]"
env.sh
是幾行文字,目錄添加到LD_LIBRARY_PATH
GDB開始由(gdb (concat "gdb.sh --annotate=3 --cd=" dir " --args " exe-dir "/path/to/my.exe " file))))
file
傳遞給我運行程序的命令行參數。
如果我改用M-x gdb
啓動GDB並接受默認命令(gdb --annotate=3 my.exe
),那麼設置斷點可以正常工作。
describe-text-properties
在該位置給出了這樣的輸出:
Text content at position 47591:
There are 2 overlays here:
From 47196 to 48046
semantic [Show]
From 47272 to 48046
face nil
isearch-open-invisible semantic-tag-folding-show-block
semantic-decoration t
semantic-link-hook nil
semantic-secondary t
semantic-tag-folding t
semantic-tag-folding-comment-overlay nil
semantic-tag-folding-marker-string [Show]
semantic-tag-folding-tag [Show]
There are text properties here:
fontified t
(point-max)
是64141,因此它似乎是一個覆蓋不應涵蓋緩衝區的其餘部分。
我有一個很長的,複雜的.emacs腳本,我還沒有想出最小的安裝腳本來重現問題。鑑於上述屬性(並且isearch-open-invisible具有值引用語義),我懷疑這個問題還涉及CEDET /語義。
CEDET和gdb之間有已知的交互嗎?
是否有已知的問題通過腳本而不是直接運行gdb?
我似乎記得我創建了該腳本,因爲使用命令行source env.sh; export VAR=false; gdb ...
運行GDB不起作用。
我使用emacs 23.4.1,G ++ 4.5.3和GNU GDB(GDB)的紅帽企業Linux(7.0.1-32.el5)