소스코드를 분석 하는데 함수 호출 구조가 너무 복잡해서 그래프로 보고 싶었다.
1. doxygen 설치
sudo apt-get install doxygen
2. graphviz 설치
sudo apt-get install graphviz
OR
http://www.graphviz.org/
직접 다운로드
-바이너리 위치 조회
jinsol@jinsol:~$ which graphml2gv
/usr/bin/graphml2gv
3. config 설정을 위한 Doxyfile 생성
doxygen -g
4. Doxyfile 수정
-그래프 설정
CALL_GRAPH = YES
CALLER_GRAPH = YES
- Graphviz 바이너리 위치 설정
DOT_PATH = /usr/bin/graphml2gv
HAVE_DOT = YES
- 클래스 상속 구조 포함
CLASS_DIAGRAMS = YES
- 그래프를 text가 아니라 그래픽 버전으로 보여줌
GRAPHICAL_HIERARCHY = YES
- 대상 소스 폴더 지정
상대 경로 또는 절대 경로 지정 가능.
INPUT = ../
OR
INPUT = /home/jinsol/source/doc
RECURSIVE
- 대상 폴더의 하위 폴더도 대상으로 지정
RECURSIVE = YES
- 생성되는 doc 파일이 많아지므로 하위폴더 생성
CREATE_SUBDIRS = YES
- @internal 주석이 적힌 문서도 포함(NO일경우 미포함)
INTERNAL_DOCS = YES
- 문서에 구현 소스도 포함
INLINE_SOURCES = YES
- 문서에 소스파일 추가 (Files에서 조회 가능)
SOURCE_BROWSER = YES
5. 문서 제작
jinsol@jinsol:~$ doxygen
html폴더에 문서 생성됨.
6. 문서 보기
firefox html/index.html로 문서 보기
우측 상단의 검색창을 이용해 자기가 원하는 함수를 볼 수 있음.
이런 크고 아름다운 그래프를 볼 수 있다.
(참조 : http://www.nicklib.com/devtools/661)
댓글 없음:
댓글 쓰기