Develop Note

[LINUX] Ctags 사용하기 본문

Linux

[LINUX] Ctags 사용하기

Chalsu 2017. 10. 29. 21:54

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의 매력을 느껴보자.


Comments