我在我的 C 开发环境中使用 vim
运行 cscope
。我在 freebsd 6.3 服务器上的 GNU vim
窗口中启动 screen
并与 cs add ...
建立 cscope db 连接。在这个阶段,一切正常。
如果我分离屏幕 session 并重新附加它,任何使用 cscope 的尝试都会导致 cscope 转储核心。这是我从核心转储中获得的全部信息,因为我的 cscope 没有使用调试符号进行编译:
(gdb)
#0 0x480f45dc in ungetch () from /lib/libncurses.so.6
(gdb)
AFAIK 当我重新连接到屏幕时,不需要在 vim 上重新建立 cscope 连接。这将违背使用屏幕的目的。任何人都知道发生了什么以及是否有解决方法?如果一切都失败了,我会找时间用符号编译 cscope 并弄清楚发生了什么。
如果有帮助,我的 cscope 数据库是通过以下方式生成的:
cscope -bkq -P`pwd` -i cscope.files
最佳答案
事实证明,这是在 cscope 15.7a 中修复的问题。在这里发布答案,以防其他人遇到同样的问题(在我决定在这里发布之前,它困扰了我几年)。
关于Vim 的 cscope 连接在每次 GNU 屏幕重新连接时中断,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8734090/