gccで関数呼び出しのコールグラフを生成する方法 at ミネルヴァの梟は黄昏とともに飛び始める

ミネルヴァの梟は黄昏とともに飛び始める

Follow me on Twitter: http://www.twitter.com/dddaisuke

gccで関数呼び出しのコールグラフを生成する方法

without comments

egypt-min

先日のC言語のプログラムにテストコードを書こうとしたら、仕様書が存在しない事が発覚!サービスに機能が追加されるタイミングの拡張案のドキュメントがいくつか存在するのみという事なので、まずは仕様をドキュメントにまとめる事に。

完全網羅の仕様をまとめるには、コールグラフを作成するのが良い(デバッグする時にはあまり意味が無いので注意)ので、早速コールグラフを作成していたら社員から、やり方教えてと言われたのでブログにまとめる事に。。。

とりあえず、gccなど開発ツールは入っているという前提で、、、

私はegyptというツールを使います。

wget http://www.gson.org/egypt/download/egypt-1.6.tar.gz
tar zxf egypt-1.6.tar.gz
cd egypt-1.6
perl Makefile.PL
make
sudo make install
[/CODE]

これで作成されたegyptに実行権限を与えて、適当な場所にコピーします。

Graphvizのインストール
[CODE]
wget http://www.graphviz.org/pub/graphviz/stable/redhat/el5/i386/os/graphviz-2.24.0-1.el5.i386.rpm
rpm -ivh graphviz-2.24.0-1.el5.i386.rpm
[/CODE]

以下のようにすると、コールグラフの完成です。
[CODE]
gcc -dr hoge.c
egypt hoge.c.00.expand > egypt.dot
dot -Tpng -Grankdir=LR egypt.dot -o egypt.png
[/CODE]

Written by daisuke

10月 23rd, 2009 at 3:14 pm

Leave a Reply