C/C++ source code visualization?基本上,我想要生成源代码可视化的工具,例如:
尽管您需要安装GraphViz才能绘制图形,但Doxygen确实非常适合此操作。 安装完所有内容后,绘制图形就非常简单。确保将EXTRACT_ALL和CALL_GRAPH设置为true,并且一切顺利。 有关该功能的完整文档在这里。 我强烈推荐BOUML。这是一个免费的UML建模应用程序,该应用程序:
因此:将代码导入BOUML并在其中查看,或导出为SVG并在Firefox中查看。 对于免费版本:
您可以查看用于软件设计和建模的不同工具(Rational Rose,Sparx Enterprise Architect,Umbrello等)。它们中的大多数具有一些功能,可以按源代码进行逆向建模,并获得UML类图,有时甚至还有序列图(这与函数调用图非常接近)。 但是,当您在非常大的项目代码库中获得了一些图片之后,您可能会意识到,此类图形非常难以阅读和理解。不幸的是,复杂性的可视化功能非常有限。 对我而言,使用"分而治之"的习惯用法是更方便的方法。您可以从某些代码库中提取不同的功能块或层(有时只需按不同的文件夹对cpp文件进行排序即可)。另一种方法是使用某些脚本(bash,python)创建具有相关文件,类或函数(例如"依赖项数量"等)的感兴趣参数的简单csv表。 尝试doxygen Xerces的示例输出 除了上面的书面工具,您还可以尝试了解。但是,它不是免费的。 如果使用Visual Studio,则可以使用2010 Ultimate版本生成序列图和依赖图。但是,该版本当前仅支持.NET应用程序项目。 该团队在将来的发行版中对支持C ++产生了浓厚的兴趣,因此您可能需要随时关注。同时,您可以在VS 2010体系结构发现和建模工具论坛中发布http://social.msdn.microsoft.com/Forums/en-US/vsarch/threads以请求更新。我知道产品团队喜欢听到客户对工具的反馈。 同时,您可以在以下主题中学习更多有关通过.NET代码创建序列图和依赖图的信息: 如何:使用体系结构资源管理器查找代码:http://msdn.microsoft.com/zh-cn/library/dd409431%28VS.100%29.aspx 如何:从代码生成图形文档:http://msdn.microsoft.com/zh-cn/library/dd409453%28VS.100%29.aspx#SeeSpecificSource 如何:使用顺序图探索代码:http://msdn.microsoft.com/zh-cn/library/ee317485%28VS.100%29.aspx 要尝试RC版本并提供反馈,请从http://www.microsoft.com/downloads/details.aspx?displaylang=zh_CN&FamilyID=457bab91-5eb2-4b36-b0f4-d6f34683c62a下载 有一个称为CDOC的旧工具,我们仍然使用它来生成调用树。 可能是重复的,但请查看ollydbg,IDA Pro,此网站上有一堆资源,其中包含一些非常性感的图像。 |