Science&Enigneering

Doxygen + Graphviz 을 이용해 함수 호출, 파일 관계도 작성 및 문서화

##- 2009. 8. 28. 01:36
728x90
코드가 복잡하다 보면 어떤 함수가 어떤 또다른 함수를 부르는지 모르게 된다.
그리고 매뉴얼 같은 문서를 작성하려다 보면 함수에 대해서 설명이 필요하고 관계상태를 알아야 하는데,
코드를 따라가서는 거의 불가능하다.
(안해봤지만)VISIO랑 Visual Studio랑 연동해서 UML언어로 작성해 준다고 하는데, Visio가 가격이 쬐~금 하더라.. ㄷㄷㄷ
그래서 찾아본 방법이 Doxygen + Graphviz..
Doxygen에서는 소스코드들의 상태를 분석할 수 있고, 분석된 결과가 "Dot"파일로 저장되는데 이 파일을 Graphviz에서 도식화 시켜준다.
물론 두 프로그램 다 공짜!
인터넷에 이미 Linux에서 하는 방법과 예전 버젼의 Visual Studio (2003이전)에 대해서는 인터넷에 아주아주 잘 나와있기 때문에 패스..
난 실패 했으므로 그냥 걔네 프로그램 쓰는 방법만 여기에 쓴다

Doxygen이랑 Graphviz를 다운 받아서 그냥 쭉쭉 설치하면된다.. 뭐 손댈건 없고.
다 설치하고 나서 시작-프로그램-Doxygen-Doxywizard를 실행하면 아래 같은 화면이 뜨는데,


Wizard-Expert-Run 세개의 Tab이 있는데,
초보자는 Wizard-Run 
개발자들이 보면 뻔한 내용밖에 없기 때문에 대충 설정하면 된다.. 예쁜 관계도가 필요하면 "Diagrams"에가서 "Use dot tool from Graphviz package"를 살포시 선택하고 Run탭으로 가서 "Run doxygen"을 클릭해주면 Destination Directory에 파일들이 쭈루룩 완성된다.

함수 호출 다이어그램이 안뜨면 Graphviz 설정을 해줘야 하는데 Expert의 Dot 탭에서 설정을 해 주면 된다. Expert에 들어가서ㅈ아보면 DOT_PATH이라고 있는데 여기에 GraphViz의 dot이 깔린 bin 폴더의 절대 경로를 써준다. 예를 들어,

DOT_PATH: C:\Program Files\Graphviz2.16\bin

이렇게.... 

혹시 "Run doxygen"눌러도 아무반응이 없으면 Step1: 아래에 있는 텍스트 박스에 아무 디렉토리나 설정해주면 된다.. Step따라서 잘 하면 뿅!

한가지더.. 그냥 Wizard에서 잘 선택해서 문서화 하면 함수 관계에 대한 Diagram이 없기 때문에, Expert Tab으로 가서 또 "잘" 설정하면 아래 그림 처럼 예쁘게 나온다.



doxygen 다운받기
http://www.stack.nl/~dimitri/doxygen/


graphviz 다운받기
http://www.graphviz.org/

Graphviz를 이용하여 함수 호출을 그림으로 나타내기 (한글) : http://www.ibm.com/developerworks/kr/library/l-graphvis/index.html

VS6.0에서 설치하고 구동하는 법
http://blog.pages.kr/367


300x250