プロが教えるわが家の防犯対策術!

AIX上でC言語で開発をしています。
できあがった実行プログラムの解析ツールはないでしょうか?
逆アセンブラみたいに詳細でなくて良く、メインから呼出して
いる関数の一覧とか、この関数がどこから呼ばれているか、
などの相関図的なものを探しています。

宜しくお願いいたします。

A 回答 (2件)

原理的にいえば, 「ある程度」はできるはずです.


まず, 実行プログラムのエントリーポイントは (実行ファイルを読めば) わかります. そこからコードを調べて「サブルーチン呼び出し」が見つかれば「別の関数のエントリーポイント」がわかります. これを芋づる式に行えば, いつかは終了します.
ただし.
常識的に考えれば一瞬で分かりますが, 「当該関数がどこで終わるのか」はそのようなプログラムでは分かりません. したがって, 「関数でないもの」が紛れ込む可能性はあります. また, 関数テーブルなどから間接呼び出ししたりすると分からなくなる可能性があります.
と, こういうことがしたいんでしょうか? 冷静に考えれば「ソースがあればそれを見ればいい」だけだし, これまた原理的には「逆アセンブラの出力を処理すればそれなりになんとかなる」はずでもあります.
    • good
    • 0

>プログラムの解析ツールはないでしょうか?



無いですね。

もしそんな便利なモノがあったら、C言語の開発者の間で話題沸騰、雑誌や専門誌やネットでも話題になるでしょうし、検索すればすぐに見付かるくらい、超有名になっている筈。

でも、そんなモノがあるって話も聞かないし、雑誌にも専門誌にもネットにも載ってないし。

いっそのこと、質問者さんが作ってみてはどうでしょう?実用的なモノが完成したら、たぶん「それ1つで会社を起こして、一生、ソレの売り上げだけで食って行ける」と思いますよ。
    • good
    • 0
この回答へのお礼

ですよねぇー。
Dependency Walkerみたいなのが無いかなーと。

お礼日時:2009/05/08 10:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!