본문 바로가기
Linux/Command

Ctags를 이용한 소스분석

by neohtux 2016. 9. 25.
728x90

□ ctags


 - ctags를 이용하여  작업 디렉토리 혹은 그 하위 디렉토리 내의 소스파일에 정의되어있는 함수들로 진입하거나


   다시 목록으로 돌아와 소스분석을 빠르게 할 수 있는 기능을 제공한다.


   즉, 프로그램 소스내 변수 및 함수의 위치를 인덱스하여 바로바로 찾아볼 수 있게 만들어주는 것이다.



□ ctags 설치/ vi와 함께 사용법


 - 우분투 기준 설치

    sudo apt-get install ctags 명령어를 통해 설치 할 수 있다.


 - ctags * : 현재 디렉토리내 모든 소스파일에 대해 tags 정보를 만들어 tags 파일을 생성한다.

 - ctags -R 현재 디렉토리와 하위디렉토리를 포함한 모든 소스파일에 대해 tags 정보를 만들어 tags 파일을 생성.



 - vi로 생성된 tags 파일을 살펴본 모습


 - vi에서 [사용된 함수 이름]에서  컨트롤 ]키 (Ctrl + ] )를 누르면 해당함수가 쓰인 소스파일로 진입할 수 있다.

   

   다시 목록으로 나올땐 Ctrl - T 키를 누르면 가능하다.



 :tj 함수명




위 그림처럼 엔터를 치면


바로 다음과 같이 되는데 이때 가장 왼쪽에 보이는 번호로 입력하면 그 함수 / 변수가 쓰인 file로 이동하는것을 볼 수 있다.





위 그림 상태에서 :po 혹은 Ctrl + T 키를 누르면 이전목록으로 넘어 올 수 있다.



□ ctags에서 사용되는 명령어들

 :ta 키워드 : 키워드와 일치하는 태그위치로 이동.

 :ts 키워드 : 키워드와 일치하는 태그 목록 출력

 :tj 키워드 : 목록이 한개인 경우는 이동, 여러개인경우는 목록을 출력

 :tn : 다음 태그로이동

 :tp : 이전 태그로 이동

 :tags : 이동했던 태그 목록들을 출력

 

ctags 내 사용하는 명령어를 스택 구조로 관리한다.

300x250

'Linux > Command' 카테고리의 다른 글

Strace : debugging tool 시스템 콜/시그널 추적  (0) 2016.09.11

댓글