2012-01-04 4 views
3

내 C 개발 환경에서 vimcscope을 실행했습니다. FreeBSD 6.3 서버의 GNU screen 창에서 vim을 시작하고 cs add ...으로 cscope db 연결을 설정합니다. 이 단계에서 모든 것이 완벽하게 작동합니다.모든 GNU 화면에서 Vim의 cscope 연결이 끊어짐

화면 세션을 분리했다가 다시 연결하면 cscope를 사용하려고 시도하면 cscope가 코어를 덤프합니다.

(gdb) 
#0 0x480f45dc in ungetch() from /lib/libncurses.so.6 
(gdb) 

는 AFAIK 내가 화면으로 다시 연결하면 정력의 cscope의 연결을 다시 설정할 필요가 없습니다 : 이것은 내 cscope를 디버그 기호와 함께 컴파일되지 않기 때문에 내가 코어 덤프에서 모두이다. 그것은 스크린 사용의 목적을 무너 뜨릴 것입니다. 누구든지 무슨 일이 벌어지고 있는지, 그리고 해결 방법이 있는지 알고 있습니다. 모든 것이 실패하면 cscope을 기호로 컴파일하고 진행 상황을 파악할 시간을 갖게 될 것입니다.

cscope -bkq -P`pwd` -i cscope.files 

답변

3

이는 cscope의의 15.7a에서 수정 된 문제가 있음을 밝혀 :

도움이된다면

은 내 cscope의 DB가 생성됩니다. 여기에 게시하기로 결정하기 전에 다른 사람이 동일한 문제가있는 경우를 대비하여 여기에 답변을 게시하십시오 (몇 년 동안 나를 괴롭혔습니다).

+2

답변을 수락 한 것으로 표시 할 수 있습니까? 그것은 색인에 영향을 미치고 쉽게 찾을 수 있습니다. – richo

+0

그럴 때까지 몇 시간을 기다려야한다고 생각합니다. – jman

2

vimcscope -l (줄 모드)을 호출 할지라도 curses에서 충돌이 발생한다고 생각하면 TERM=screen이 문제와 관련 있다고 생각하는 것이 합리적이라고 생각합니다. 나는 그것을 변경하는 (즉 경로에 /usr/local/bin 이전의 가정 $HOME/bin에서 예를 들어) 래퍼를 만드는 시도를하려는 :

"청각 장애, 가짜 TERM에서 실행되지 않는 경우"라고
#!/bin/sh 

if ! test -t 0 
then 
    TERM=vt100 
fi 

exec /usr/local/bin/cscope "[email protected]" 

. tty 테스트는 대화식 사용을 중단하지 않으려 고 시도하는 것입니다. TERM=none 또는 다른 값을 시도해 볼 수도 있습니다.

+0

나는 이것을 점검하고 여기에 게시 할 것입니다. – jman

관련 문제