私は大規模なコード ベースを引き継いでおり、特定のクラスとそのメソッドがどこでどのように使用されているかを概説したいと考えています。
どういうわけか依存関係を視覚化し、素敵な呼び出しツリーなどを描画できる優れたツールはありますか?
選択範囲を絞り込むのに役立つ場合、コードは Visual Studio の C++ にあります。
私は大規模なコード ベースを引き継いでおり、特定のクラスとそのメソッドがどこでどのように使用されているかを概説したいと考えています。
どういうわけか依存関係を視覚化し、素敵な呼び出しツリーなどを描画できる優れたツールはありますか?
選択範囲を絞り込むのに役立つ場合、コードは Visual Studio の C++ にあります。
Doxygen を使用すると、呼び出し元と呼び出し先の完全なリストが作成されました。オンにする必要があると思います。
Doxygen を使用すると、呼び出し元と呼び出し先の完全なリストが作成されました。オンにする必要があると思います。
もちろんそうしましたが、前述したように、doxygen は IDL で定義されているオブジェクト間のインターフェイスを考慮していません。直接の C++ 呼び出しを「のみ」表示します。
誤解しないでほしいのですが、それはすでに驚くべきことですが、すべてがどのように組み合わされているかをよく理解しようとする私のハイレベルな視点からは、まだ完全ではありません。
Java では、JDepend から始めます。.NET では、NDepend を使用します。C++についてはわかりません。
デビッド、提案をありがとう。私は週末をプログラムの試用に費やしました。
Doxygen は 3 つの中で最も包括的であるように見えますが、メソッドの呼び出し元に関してまだいくつかのことが望まれています。
3 つすべてが、さまざまな程度で C++ テンプレートに問題があるようです。CC-Rider は分析の途中で単にクラッシュし、CodeDrawer は多くの関係を表示しません。Doxygen は非常にうまく機能しましたが、すべてのリレーションを見つけて表示するわけではなく、フィルターで除外するまで多くのマクロ参照に圧倒されました。
したがって、最終的な他の提案のために「大きなコードベース」を少し明確にする必要があるかもしれません.100以上のテンプレートファイルといくつかの実際のクラスファイルにまたがる10万行以上のコードがすべて一緒になっています.
タスクに応じて、より良く(より完全に)実行できる他のツールはありますか?ああ、具体的には: IDL および COM インターフェイスを理解するものはありますか?