OS/LINUX

[툴] ctags 사용법

투칼론 2016. 9. 27. 22:57
반응형

1. 개요


ctags 툴은 리눅스에서 vi/vim 에디터를 이용하여 소스 분석을 할 때 유용하게 사용할 수 있도록 해 줌.

소스에사 특정 구조체, 함수, 매크로 등 (tag라고 표현)이 선언되고 구현된 위치로 이동하여 준다.

이는 소스 분석을 빠르고 쉽게 할 수 있도록 도와준다.

비스한 툴로 더욱 기능이 많은 cscope이라는 툴이 있다.



2. 사용방법


1) 설치 바이너리 다운로드


[다운로드 사이트] http://rpmfind.net/linux/rpm2html/search.php?query=ctags


wget 등 명령어로 OS에 맞는 설치할 바이너리를 다운로드한다.



2) 설치


apt-get 또는 rpm 등 각 리눅스에 설치명령어에 맞는 툴로 설치한다.



3) 분석 소스에 대한 Tags(메타데이터) 생성


분석하고 싶은 소스 디렉터리로 이동해서,

 $ ctags -R 


명령어를 입력한다.


결과로 작업디렉터리의 tags라는 메타데이터인 텍스트 파일이 생성된다. vi로 확인 가능하다.



4) vi로 소스를 열어서..tags 명령어를 실행한다.



3. tags 주요 명령어


vi 또는 vim 명령어에서 단축키 또는 :명령어를 통해 소스 분석을 위한 작업을 할 수 있음.


 ctrl + ]

 현재 커서에 있는 함수 또는 심볼이 있는 소스 위치로 점핑한다.

 ctrl + t

 ctrl + ]로 점핑하기 전의 위치로 옮긴다. 



 :ts 함수명/심볼

 함수명/심볼 위치로 점핑한다. 여러 개 있으면 목록을 보여주며, 선택하도록 한다.  예를들어, main 함수로 점핑하고 싶으면, ":ts main" 명령어를 통해 main()함수 위치를 쉽게 찾아갈 수 있음

 :ta 함수명/심볼

 :tn

 :tp

 첫번째 검색한 위치로 점핑함

 tag next 의미. 태그 다음 위치로 점핌함

 tag previous 의미. 태그 이전 위치로 점핑함

 :tj 함수명/심볼

 목록이 한개인 경우에는 이동. 여러개인 경우에는 선택 한 후 이동 

 :tags

 이동한 태그 히스토리 보여 줌