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 | 이동한 태그 히스토리 보여 줌 |
'OS > LINUX' 카테고리의 다른 글
[명령어] netstat 설명 (0) | 2016.12.03 |
---|---|
[명령어] more 설명 (0) | 2016.10.17 |
[정보] 프로세스 세션 리더(Session Leader)와 프로세스 그룹 리더(Group Leader) (0) | 2016.09.20 |
[명령어] sar 설명 (0) | 2016.09.17 |
[명령어] iostat 설명 (0) | 2016.09.06 |