高效阅读嵌入式源码系列一:静态分析神器understand软件基本操作
系列文章目录
高效阅读嵌入式源码系列一:静态分析神器understand软件基本操作 高效阅读嵌入式源码系列二:understand阅读linux、uboot等源码 高效阅读嵌入式源码系列三:understand阅读经keil MDK编译的源码
文章目录
系列文章目录
前言
一、understand是什么?
二、导入项目
三、 搜索功能
四、项目视图
五、常用窗口视图
六、总结
前言
之前一直使用source insight 4阅读C程序源码,非常喜欢它的context与relation,可惜source insight不能过滤复杂的条件编译(会干扰对源码的理解)。机缘巧合之下,从知乎中获知了understand这个静态分析神器,经几个月的使用,不断阅读各位同仁前辈的文章,加速对understand的熟悉。目前,已基本从source insight转战于understand了。下面,结合各位同仁前辈的文章,将近期使用understand做一个总结,记录于此。
一、understand是什么?
understand是Scitools的产品,目前可找到v6.1版本的下载版,本系列文章以understand v6.1为示例,v6.1 如何下载与安装请自行百度。 understand具有以下几个特点:
支持多语言:Ada, C, C++, C#, Java, FORTRAN, Delphi, Jovial, and PL/M ,混合语言的project也支持;
多平台: Windows/Linux/Solaris/HP-UX/IRIX/MAC OS X
代码语法高亮、代码折迭、交叉跳转、书签等基本阅读功能。
可以对整个project的architecture、metrics进行分析并输出报表。
可以对代码生成多种图(butterfly graph、call graph、called by graph、control flow graph、UML class graph等),在图上点击节点可以跳转到对应的源代码位置。
支持Perl API、python,便于扩展。
内置的目录和文件比较器。
支持project的snapshot,并能和自家的TrackBack集成便于监视project的变化。
二、导入项目
导入项目有两种方法,一种是从菜单栏点击File–>New–>Project,另一种是点击下面界面中间的New Project。 点击后,会进入到如下界面,你可以点击Add Directory添加需要阅读的源码目录,添加目录后点击continue进入下一步。 在如下出现的界面,选择No.