3

Javaのメソッドの実行の流れを分析できるようにするために、単純なコールグラフを生成したいと思います。

たとえば、コード内でメソッド X からメソッド Y に多数のメソッド呼び出しで移動できる場合、メソッド X からメソッド Y への流れを示す呼び出しグラフを生成したいと考えています。

SOOT を使用してみましたが、この必要なコール グラフを取得できませんでした。このような呼び出しグラフを生成するために使用できる API を知っている人はいますか? 私は Eclipse を使用していますが、このツールは多くのプロジェクトで使用する必要があるため、プラグインを使用できません。

助けてくれてどうもありがとう

4

4 に答える 4

3

これは、私が見たのと同じくらい優れた API です。

https://github.com/gousiosg/java-callgraph

于 2012-06-06T19:23:21.720 に答える
3

最近、Java で利用できる静的解析ライブラリを調べています。ここに私が遭遇したそれらのいくつかがあります:

  • Chord : まだ維持/更新中の堅牢なフレームワークのようです。これは、事前定義された分析に関するドキュメントの一部へのリンクです(コールグラフのものを含みます)。
  • DepFinder : このツールは、プロジェクトから依存関係グラフを生成するために使用されます。そこから静的呼び出しグラフ情報を抽出できると思います。
于 2012-02-18T16:23:42.693 に答える
0

X でキャッチされた例外を Y でスローし、例外スタック トレースを分析することができます。

// in X: 
try {
   do your calls ...
} catch (Exception e )  {
     StackTraceElement[] elements =  e.getStackTrace();
     for (StackTraceElement e : elements ) {
       // ... evaluate / print ...
       System.out.println(e);
     }
}
于 2012-02-15T09:55:57.017 に答える
0

JTracerは、コールグラフを生成・可視化することで、Javaプログラムの実行の流れを理解するためのツールです。メソッドのエントリやメソッドの終了などのさまざまなイベントがログに記録され、視覚化されます。コードの変更は必要ありません。

于 2012-06-16T21:52:33.557 に答える