본문 바로가기
728x90

Linux/Command2

Ctags를 이용한 소스분석 □ ctags - ctags를 이용하여 작업 디렉토리 혹은 그 하위 디렉토리 내의 소스파일에 정의되어있는 함수들로 진입하거나 다시 목록으로 돌아와 소스분석을 빠르게 할 수 있는 기능을 제공한다. 즉, 프로그램 소스내 변수 및 함수의 위치를 인덱스하여 바로바로 찾아볼 수 있게 만들어주는 것이다. □ ctags 설치/ vi와 함께 사용법 - 우분투 기준 설치 sudo apt-get install ctags 명령어를 통해 설치 할 수 있다. - ctags * : 현재 디렉토리내 모든 소스파일에 대해 tags 정보를 만들어 tags 파일을 생성한다. - ctags -R 현재 디렉토리와 하위디렉토리를 포함한 모든 소스파일에 대해 tags 정보를 만들어 tags 파일을 생성. - vi로 생성된 tags 파일을 살펴.. 2016. 9. 25.
Strace : debugging tool 시스템 콜/시그널 추적 □ strace - strace는 시스템 콜과 시그널을 추적할 수 있는 일종의 디버깅 툴이다. 만약 프로그램이 지속적인 충돌을 일으키거나, 예상치 못한 동작을 하게되는 경우에도 유용하게 쓰일 수 있다 예를 들면 존재하지 않는 파일을 접근하여 열거나 읽으려할때 strace를 사용하여 문제가 되는 지점을 찾을 수 있다. GNU Debugger(gdb) 와 같은 코드 디버깅같은 세부사항들에 대해서 찾기에는 부적합 할 수 있으나 시스템 콜을 추적하는 툴에있어선 strace가 적합하다. 그리고 코드 디버깅 툴 보다 사용하기가 쉽다. 여기에 몇가지 예를 적고 자세한 사항은 man 페이지를 활용하면 될 것 같다. 각 라인을 잘보면 메모리에 맵핑 시키는것부터 파일을 열고 읽고 쓰고 닫고 하는데 있어 특정 구조체를 호출.. 2016. 9. 11.
728x90