有关Doxygen及Graphviz代码分析软件

时间:2023-02-02 07:38:16

最近拿到一个项目的源码,因为没有文档,就想找个软件分析一遍这套源码。

百度了一下,Doxygen是一个选择,于是就下载来试试。

Doxygen 官方主页可以免费下载

这个软件主要是用来分析代码生成文档的,只要根据一个的注释格式,就可以生成一份API文档。

默认情况生成的只是每个文件的独立情况,也就是单纯将源码中的全局变量,方法,函数给罗列出来而已。这当然不是我想要的结果。

在研究这个软件,发现有一个图表生成模式,叫Graphviz模式。

尝试了一下,生成出来的页面出现了图片缺失的情况,猜想大概是需要自己去加载这个插件。

登陆Garphviz官网(http://www.graphviz.org),

有关Doxygen及Graphviz代码分析软件

从官网的Logo可猜测这个软件是可以分析类与类之间的联系。

这也是一个免费软件,可以从官网下载。因为我用的OSX系统,于是就想到可以用brew来安装。

$ brew install graphviz

下载的时候遇到点阻碍,就是graphviz依赖的一个组件libpng,brew不能正常下载。brew尝试去下载的版本已经不在了。根据brew提示的错误去网址上可以获得正确的版本。通过

$ brew edit libpng

可以修改brew的下载配置文件,只要修改下载的url及sha1值,就可以正确下载了。
安装好后,只要在Doxygen的配置页面里填入graphviz的位置(安装后的命令为dot,地址一般为 usr/local/bin/dot ),就可以选择graphviz模式来生成了文档了。

有关Doxygen及Graphviz代码分析软件

生成的结果大概如上面图片所示,可以看到一个类里所调用到的所有对象的联系。图例分析的是Cocos2dX的Director,属于比较复杂的情况。

总的来说,这个软件还是不够完善,只能看到类与类之间一个比较粗略的关系,不能了解到具体的一个调用情况,如果分析的项目比较复杂的话,恐怕也帮不到太多。