linux에서 사용하는 편집기는 vim를 사용하며, 소스분석을 간편하게 도와 주는 것이
ctags이다. 그리고 이 부족한 부분을 메워주는 것이 cscope인데, 사실 cscope는 잘사용하지 않게되는 것 같다.
2. How To install tools
$ sudo apt-get install vim ctags cscope
편집기 vim과 catag과 csope를 설치하자.
3. CTAGS 생성 및 CSCOPE 파일 생성
$ cd ~/linux // kernel 로 이동 $ ctags -R // tags file 생성 $ ls -l tags // tags 생성확인
$ cat./mkcscope.sh #!/bin/sh rm -rf cscope.files cscope.files find . \( -name '*.c' -o -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.s' -o -name '*.S' \) -print>cscope.files cscope -i cscope.files $ cd ~/linux // kernel 로 이동 $ ./mkcscope.sh // cscope.file 생성 $ ls cscope.files // cscope.file 확인
4. 관련설정
$ vi ~/.vimrc set tags=./tags set tags+=~/am437x/works/board-support/u-boot-2014.07+gitAUTOINC+fb6ab76dad-gfb6ab76/tags set csprg=/usr/bin/cscope set csto=0 “(숫자 0) set cst set nocsverb if filereadable(“./cscope.out”) cs add cscope.out else cs add /usr/src/linux/cscope.out endif set csverb
5. 사용법
기본적으로 vim에서 연결하여 동작하도록 하며, 아래와 같이 명령을 주어 사용한다.
5.1 CTAGS 기본 사용법
Ctrl+] : 커서에 위치한 정의된 함수로 이동 Ctrl+t : 이전위치로 이동 :ts keyword : keyword와 일치하는 태그목록 출력하고 선택한다 :tj keyword : ts와 동일하지만 목록이 한개일 경우 해당태그로 이동, 두개 이상 출력 :sts keyword : tj와 유사하나 새창에 관련정보 출력 :ta /keyword : keyword가 포함된 태그를 검색 :tn : 다음 태그 이동 :tp : 이전 태그 이동 tags : 이동한 태그 히스토리 출력
5.2 CSCOPE 기본 사용법
:cs help :cs find c symbol :cs help syntax on : 구문강조 기능 사용 cscope 명령: add : 새 데이터베이스 더하기 (사용법: add file|dir [pre-path] [flags]) find : Query for a pattern (사용법: find c|d|e|f|g|i|s|t name) c: 이 함수를 부르는 함수들 찾기 d: 이 함수에 의해 불려지는 함수들 찾기 e: 이 egrep 패턴 찾기 f: 이 파일 찾기 g: 이 정의 찾기 i: 이 파일을 포함하는 파일들 찾기 s: 이 C 심볼 찾기 t: 이 문자열 찾기 help : 이 메시지 보이기 (사용법: help) kill : 연결 끊기 (사용법: kill #) reset: 모든 연결 다시 초기화 (사용법: reset) show : 연결 보여주기 (사용법: show)
https://ysoh.wordpress.com/2012/04/09/%EB%A6%AC%EB%88%85%EC%8A%A4-%EC%BB%A4%EB%84%90-%EA%B0%9C%EB%B0%9C%EC%9D%84-%EC%9C%84%ED%95%9C-vim-%EC%84%A4%EC%A0%95-vimrc/
http://treetale.iptime.org/wordpress/946