[LINUX] Ctags 사용하기
0. Ctags 개요
Ctags는 소스 코드의 Symbol(전역변수, 함수, 매크로 정의 등)들의 정보를 모아
tags 파일을 생성하는 Tool 이다.
주로 소스 분석 시 사용하는데 VIM과 함께 사용 시 간단하고 직관적인 인터페이스로
굉장히 유용하게 사용된다.
사용법 자체는 매우 간단하다.
1. Ctags 사용하기
먼저 ctags가 설치되어 있지 않으면 설치를 진행한다.
// ctags 설치 $ sudo apt-get install ctags
그리고 분석하고자 하는 소스의 최상위 디렉토리로 이동한 뒤 다음 명령어를 실행한다.
tags 정보를 생성하는 것이다.
// tags 생성 $ ctags -R
다음, VIM에서 생성된 tags를 사용하기 위해 tags의 절대 경로를 입력해준다.
// 첫 줄에 입력한다. $ vi ~/.vimrc set tags=/home/kim/source/tags
* 위 경로는 예시 경로이며, 실제 tags를 생성한 경로를 적어야 한다.
이제 준비는 끝났다.
실제 소스 코드를 열어 사용해본다. (소스는 ArduCopter.cpp 소스 코드의 일부이다.)
소스를 보던 중 update_GPS 에 대한 함수 원형(정의)을 보려고 할때, 해당 부분에 커서를 위치시킨 뒤 다음을 입력한다.
Ctrl + ] : Symbol이 정의된 곳으로 이동
생성된 tags 파일 내에 해당하는 이름이 하나라면 곧바로 이동되지만
여러 개라면 다음과 같이 하단에 선택 창이 나타난다.
이 경우, 좌측의 번호를 입력하면 해당되는 소스 코드로 이동한다.
예를 들어 1을 입력하면 ArduCopter.cpp의 update_GPS() 함수 원형으로 이동한다.
그리고 다시 처음 소스로 돌아가려고 할 때는 다음을 입력한다.
Ctrl + t : 이동하기 전 단계로 돌아감
...
이런 식으로 사용하면 된다. 아주 간단하다.
몇몇 기능들이 더 있지만 <Ctrl + ]>, <Ctrl + t> 조합만 알고 있어도 소스 분석에 큰 도움이 된다.
직접 사용해 보고 ctags의 매력을 느껴보자.