2014年9月18日木曜日

Doxygen & Graphviz でリバースエンジニアリング


環境: RHEL6.x

インストールパッケージ
  • RHELインストールディスクから
    • doxygen-1.6.1-6.el6.x86_64
  • RHEL EPELリポジトリから(rpm検索サイトから検索できた)
    • ann-libs-1.1.1-4.el6.x86_64.rpm
    • gts-0.7.6-19.20111025.el6.x86_64.rpm
  • Graphviz本家から
    • graphviz-plugins-gd-2.38.0-1.el6.x86_64
    • graphviz-plugins-core-2.38.0-1.el6.x86_64
    • graphviz-gd-2.38.0-1.el6.x86_64
    • graphviz-2.38.0-1.el6.x86_64
    • graphviz-libs-2.38.0-1.el6.x86_64
    • graphviz-doc-2.38.0-1.el6.noarch

作業メモ

設定ファイルのデフォルトの作成
% doxygen -g Doxygen/Config

設定ファイルの編集
% vi Doxygen/Config
PROJECT_NAME = hoge                     (お好みの名前)
OUTPUT_DIRECTORY = Doxygen
OUTPUT_LANGUAGE = Japanese-en
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES                   (お好みで)
EXTRACT_STATIC = YES                     (お好みで)
EXTRACT_LOCAL_METHODS = YES    (お好みで)
EXTRACT_ANON_NSPACES = YES      (お好みで)
INPUT =  . ../lib/http ../../common ../../modules (.はいらないかな?)
RECURSIVE = YES
INCLUDE_PATH = include ../../lib         (RECURSIVEがYESだから include はいらないかな?)
HAVE_DOT = YES
UML_LOOK = YES
CALL_GRAPH = YES                            (呼び出し先の網羅)
CALLER_GRAPH = YES                        (呼び出し元の網羅)
INPUT_FILTER = nkf とか?                 (まだ使ってない)
実行
% doxygen Doxygen/Config

作成された html(Doxygen/html/index.html) をブラウザでチェック

参考

http://okwave.jp/qa/q3709415.html
Doxygenを使おう
DoxywizardにおけるExpert設定方法