6

PHP などで書かれた、クラスの「内部作業」を視覚化できる使いやすいツールを探しています。私が見たいのは、さまざまなクラス メソッドと、それらがどのように関連しているか (メソッド A がメソッド B を呼び出すなど) です。このようなグラフを作成するツールはありますか? さらなるステップでは、クラスの「内部作業」を (リバース エンジニアリングの方法で) 視覚化するツールもあるかもしれません。つまり、すべてのif-else決定などで、どのような場合にどのメソッドが呼び出されるのでしょうか?

誰かが私にそのようなツール (できれば PHP と Python 用) を紹介してくれるなら、私はそれを感謝します。

4

4 に答える 4

0

http://phpcallgraph.sourceforge.net/または github のこの要点 ( https://gist.github.com/sebastianbergmann/625915 )を試すことができます。

于 2013-06-20T02:13:33.640 に答える
0

多くの提案が指摘されていますが、これらがあなたがやりたいことをするpycallgraphphpcallgraphは思いません-これらはランタイム分析用ですが、静的分析をしたいように聞こえます。

このためのツールについては知りませんが、単一のクラスの動作とそのクラス内の関係のみに関心があることを考えると、スクリプト言語で何かを一緒にハックできるはずです。選択の

  1. クラス内のすべての関数名と変数宣言を解析し、どこかに保存します
  2. ステップ 1 の情報を使用して、変数の使用法、変数の割り当て、関数呼び出し、およびこれらが発生する関数を特定します。
  3. この情報を で使用されるグラフ形式に変換し、dotドットを使用して依存関係を示す有向グラフを生成します。

必要な労力を考えると、クラスが大きすぎない場合は、手作業で行いたくなるでしょう。

頑張ってください。解決策が見つかった場合は、ぜひご覧ください。

于 2013-06-20T21:11:38.840 に答える
-1

pycallgraphを見たことがありますか?

また、ランタイム呼び出しの場合、cProfile で Python コードを実行し、GProfToDotで表示できます。

于 2013-06-18T10:38:12.413 に答える