2

私は大規模なコード ベースを引き継いでおり、特定のクラスとそのメソッドがどこでどのように使用されているかを概説したいと考えています。

どういうわけか依存関係を視覚化し、素敵な呼び出しツリーなどを描画できる優れたツールはありますか?

選択範囲を絞り込むのに役立つ場合、コードは Visual Studio の C++ にあります。

4

5 に答える 5

1

Doxygen を使用すると、呼び出し元と呼び出し先の完全なリストが作成されました。オンにする必要があると思います。

于 2008-09-01T11:36:38.413 に答える
1

以下にいくつかのオプションを示します。

最後の doxygen は、どちらかというと自動ドキュメンテーション ツールですが、依存関係グラフと継承図を生成できます。また、フリーではない最初の 2 つとは異なり、GPL の下でライセンスされています。

于 2008-08-30T07:17:17.697 に答える
0

Doxygen を使用すると、呼び出し元と呼び出し先の完全なリストが作成されました。オンにする必要があると思います。

もちろんそうしましたが、前述したように、doxygen は IDL で定義されているオブジェクト間のインターフェイスを考慮していません。直接の C++ 呼び出しを「のみ」表示します。

誤解しないでほしいのですが、それはすでに驚くべきことですが、すべてがどのように組み合わされているかをよく理解しようとする私のハイレベルな視点からは、まだ完全ではありません。

于 2008-09-02T12:40:18.410 に答える
0

Java では、JDepend から始めます。.NET では、NDepend を使用します。C++についてはわかりません。

于 2008-08-30T06:58:31.907 に答える
0

デビッド、提案をありがとう。私は週末をプログラムの試用に費やしました。

Doxygen は 3 つの中で最も包括的であるように見えますが、メソッドの呼び出し元に関してまだいくつかのことが望まれています。

3 つすべてが、さまざまな程度で C++ テンプレートに問題があるようです。CC-Rider は分析の途中で単にクラッシュし、CodeDrawer は多くの関係を表示しません。Doxygen は非常にうまく機能しましたが、すべてのリレーションを見つけて表示するわけではなく、フィルターで除外するまで多くのマクロ参照に圧倒されました。

したがって、最終的な他の提案のために「大きなコードベース」を少し明確にする必要があるかもしれません.100以上のテンプレートファイルといくつかの実際のクラスファイルにまたがる10万行以上のコードがすべて一緒になっています.

タスクに応じて、より良く(より完全に)実行できる他のツールはありますか?ああ、具体的には: IDL および COM インターフェイスを理解するものはありますか?

于 2008-09-01T11:30:19.023 に答える