1. cscope설치 하기
여기서 scsope 실행 파일을 다운로드 받고 압축을 풀면 sort.exe cscope.exe 두개의 실행 파일이 나온다.
이 파일을 콘솔에서 실행하기 쉽게 하기 위해 환경변수에 path를 설정해 놓는다. 나의 경우에는 gvim.exe가 있는 곳에 두 파일을 옮기고 환경변수 설정을 하였다.
2. findutils 다운로드
cscope는 내부적으로 find 명령어를 이용한다. find명령어는 리눅스 명령어인데 윈도우즈에서 사용할 수 있는 프로그램이 있다. 이 findutils라는 프로그램을 다운로드 받아 설치하도록 하자.
3. scope DB정보 구축하기
cscope를 사용하기 전에 소스파일로 부터 DB정보를 구축해야 한다.
소스파일이 있는 디렉토리에서 가장 루트 디렉토리에서 아래 명령어를 실행한다.
결과로 "cscope.out" 이라는 파일이 생성된다.
그러나 이 결과는 C, Cpp파일만 분석하기 때문에 다른 소스 파일을 분석할때 cscope를 사용할 수 없다.
다른 파일을 사용하기 위해서 find명령어를 이용해 DB로 구축하고자 하는 파일을 찾아서 cscope.files라는 파일에 저장해야 한다. 아래의 명령어를 통해 cscope.files 를 만들자.
명령어 안에 분석하고자 하는 소스파일의 종류를 모두 기술하면 된다.
4. vim에 DB정보 등록하여 사용하기
아래의 명령을 .vimrc에 넣거나 필요할때 마다 vim명령으로 지정하면 된다.
5. cscope 명령어
여기서 scsope 실행 파일을 다운로드 받고 압축을 풀면 sort.exe cscope.exe 두개의 실행 파일이 나온다.
이 파일을 콘솔에서 실행하기 쉽게 하기 위해 환경변수에 path를 설정해 놓는다. 나의 경우에는 gvim.exe가 있는 곳에 두 파일을 옮기고 환경변수 설정을 하였다.
2. findutils 다운로드
cscope는 내부적으로 find 명령어를 이용한다. find명령어는 리눅스 명령어인데 윈도우즈에서 사용할 수 있는 프로그램이 있다. 이 findutils라는 프로그램을 다운로드 받아 설치하도록 하자.
3. scope DB정보 구축하기
cscope를 사용하기 전에 소스파일로 부터 DB정보를 구축해야 한다.
소스파일이 있는 디렉토리에서 가장 루트 디렉토리에서 아래 명령어를 실행한다.
$ cscope -b -R
결과로 "cscope.out" 이라는 파일이 생성된다.
그러나 이 결과는 C, Cpp파일만 분석하기 때문에 다른 소스 파일을 분석할때 cscope를 사용할 수 없다.
다른 파일을 사용하기 위해서 find명령어를 이용해 DB로 구축하고자 하는 파일을 찾아서 cscope.files라는 파일에 저장해야 한다. 아래의 명령어를 통해 cscope.files 를 만들자.
$ find . W( -name '*.c" -o name '*.cpp' -o -name '*.cc' -o -name '*.java' \) -print > cscope.files
명령어 안에 분석하고자 하는 소스파일의 종류를 모두 기술하면 된다.
4. vim에 DB정보 등록하여 사용하기
아래의 명령을 .vimrc에 넣거나 필요할때 마다 vim명령으로 지정하면 된다.
cs add /cscope.out이 있는 경로/cscope.out
5. cscope 명령어
[cscope 명령어]
Add : 새 데이터 베이스 더하기 (사용법: add file | dir [pre-path] [flags]
Find : Query for a pattern
c: 이 함수를 부르는 함수들 찾기
d: 이 함수에 의해 불려지는 함수들 찾기
d: 이 egrep 패턴 찾기
f: 이 파일 찾기
g: 이 정의 찾기
i: 이 파일을 포함하는 파일들 찾기
s: 이 C 심볼 찾기
t: Find assignments to
help : 이 메지시 보이기 (사용법 : help)
kill : 연결 끊기 (사용법 : kill #)
reset : 모든 연결 다시 초기화 (사용법 : reset)
show : 연결 보여주기 (사용법 : show)