2008-08-30 42 views
2

我已经接管了一个庞大的代码库,并想了解如何以及在何处使用某些类和它们的方法。有没有可视化模板/类方法及其用法的工具?

是否有任何好的工具,可以以某种方式可视化的依赖关系,并绘制一个很好的调用树或类似的东西?

如果这有助于缩小任何选择范围,则代码在Visual Studio中使用C++。

回答

1

这里有几个选项:

最后一个,Doxygen的,更多的是一种自动文档工具,但它能够生成依赖图和继承图。它也是根据GPL许可的,不像前两种不是免费的。

0

在Java中,我将从JDepend开始。在.NET中,使用NDepend。不知道C++。

0

大卫,谢谢你的建议。我花了整个周末来试用这些程序。

Doxygen似乎是3中最全面的,但它仍然留下一些关于方法调用者的东西。

所有3个似乎都有不同程度的C++模板问题。 CC-Rider只是在分析过程中崩溃,CodeDrawer没有显示出很多关系。 Doxygen工作得很好,但它也没有发现和显示所有的关系,而是用大量的宏引用让我感到不知所措,直到我将它们过滤掉。

因此,也许我应该为最终的其他建议澄清一下“大代码库”:>总共100多行代码遍及100多个模板文件以及几个实际的类文件,将它们放在一起。

那里有任何其他工具,这可能是最好的任务,并可以做得更好(更彻底)?哦,特别是:任何理解IDL和COM接口的东西?

1

当我使用Doxygen时,它产生了一个完整的呼叫者和被呼叫者列表。我认为你必须打开它。

0

当我使用Doxygen时,它产生了一个完整的呼叫者和被呼叫者列表。我认为你必须打开它。

我这样做当然,但就像我提到的,doxygen不考虑对象之间的接口,因为它们是在IDL中定义的。它“仅”显示直接的C++调用。

不要误解我的意思,它的功能已经非常棒,但从高层的角度来看,它仍然不完整,试图很好地理解所有东西如何结合在一起。

相关问题