源码分析神器 — Understand的使用教程
1. 介绍
Understand是一款强大的静态代码分析工具,支持多种编程语言,如Ada、C、 C++、 C#、Java、FORTRAN、Delphi等,同时也支持混合语言的项目。该工具可以对整个项目的额结构进行分析,生成多种图,如UML图、函数的调用关系图等,以帮助开发人员,能够更深刻的理解源码,极大地提升了开发效率。
2. 安装
傻瓜式安装。
官网:https://www.scitools.com/
Tip:官网提供最新版本的understand试用,但只有15天。涉及到版权问题,本教程不提供所使用版本的下载链接。想要更自由地使用understand,读者可以百度一下,你懂的!
3. 示例
本教程使用的版本是Understand 5.1,并使用sonic-quagga-debian-0.99.24.1来演示工具的使用。
3.1 导入项目文件
如图,File -> New -> Project
选择Add Directory,并选择项目的文件夹
选择Continue
你可以选择语法检查较为严格的模式,或者是不那么严格的模式,这里我们选择不那么严格的模式,并选择Continue
创建项目
左边即可看见文件夹的目录
3.2 静态代码分析
这里我们用bgpd为例来演示如何用understand来分析源码
进入main.c文件,我们在中间下拉菜单可以看到,在该文件之下的所有函数
我们选择并定位到main函数,在main处右键,选择Graphical Views
选择Butterfly,我们可以看到从main函数开始的完整函数调用关系
如果我们想看简洁的函数调用关系,我们可以选择Calls,如图小圆点处点击下可以展开
选择Control Flow,我们还能看到main函数调用的完整控制流图
选择Cluster Call,我们还能看到头文件的包含情况,如图双击头文件可以展开查看
以上对Understand的介绍只是抛砖引玉,Understand还有许多功能,相信读者在实践中,会逐渐发现并熟练掌握其用法,以帮助团队更高效地开发。