ctags
소스코드를 분석해 소스코드 심볼(함수, 변수, 클래스 등)을 수집하고, 이 정보들을 모아 위치를 기록해 인덱싱하여 tags파일을 생성한다.
이 유틸은 vi로 소스코드 분석을 매우 편리하게 해준다.
usage
ctags -R
명령어를 프로젝트의 루트 디렉토리에서 실행해 tags 파일을 생성한다
vi로 tags파일을 열면 태그 / 파일 / 소스코드 정규식 순으로 프로젝트의 모든 심볼들이 저장되어있다.
여기서 tj(tags jmp) 명령어를 통해 원하는 함수명을 찾는다.
이 프로젝트의 모든 main 함수들이 나오고 점프하고싶은 main함수의 번호를 입력하면 위치로 간다.
코드를 분석하다가 점프하고 싶은 함수가 있으면 커서를 해당함수명으로 위치하고, ctrl + ] 를 입력하면 점프한다.
main함수에서 av_packet_alloc함수로 넘어왔는데 이전 위치로 가고싶으면 ctrl + t 를 입력하면 된다.
위 내용은 tags 파일을 직접 열어서 분석하는 방법이고 특정 파일에서 함수 원형을 찾고싶을때는 마찬가지로 프로젝트 루트 디렉토리에서 tags파일을 생성하고, ~/.vimrc파일에 아래와 같이 추가해주면 해당 경로의 tags 파일을 참조해 분석 가능하다.
'리눅스' 카테고리의 다른 글
Core dump not generated (0) | 2023.06.13 |
---|---|
Linux Signal List (0) | 2021.06.10 |
How to construct reverse proxy and load balancer using Nginx (0) | 2020.04.27 |
How to kill a network session in Linux (0) | 2020.03.19 |
Remote control using SPICE protocol on the web (0) | 2019.11.27 |