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