일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- WIZnet
- IoT Central
- nodejs
- PIR
- raspberrypi
- openssl
- circuitPython
- ChatGPT
- Linux
- Python
- PuTTYgen
- x.509
- thonny
- adafruitio
- W5100S-EVB-Pico
- putty
- vscode
- Azure
- Ethernet
- Private Key
- W5100S
- RP2040
- ubuntu
- 라즈베리파이3
- W5500
- aws
- micropython
- SSH
- w5500-evb-pico
- Raspberry Pi
- Today
- Total
Develop Note
[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의 매력을 느껴보자.
'Linux' 카테고리의 다른 글
[Linux] 리눅스 배포판 정보 확인 방법 (0) | 2017.10.28 |
---|---|
[Linux] 리눅스 시간을 한국 표준시(KST)로 변경하기 (1) | 2017.10.27 |