Scientific Toolworks Understand(代码分析软件)是一款支持多平台代码分析软件,使用这款Scientific Toolworks Understand(代码分析软件)可以让您根据不同的编译环境对代码进行整体编译。
软件特色
1.支持多语言:Ada, C, C++, C#, Java, FORTRAN, Delphi, Jovial, and PL/M ,混合语言的project也支持
2.多平台: Windows/Linux/Solaris/HP-UX/IRIX/MAC OS X
3.代码语法高亮、代码折迭、交叉跳转、书签等基本阅读功能。
4.可以对整个project的architecture、metrics进行分析并输出报表。
5.可以对代码生成多种图(butterfly graph、call graph、called by graph、control flow graph、UML class graph等),在图上点击节点可以跳转到对应的源代码位置。
6.提供Perl API便于扩展。作图全部是用Perl插件实现的,直接读取分析好的数据库作图。
7.内置的目录和文件比较器。
8.支持project的snapshot,并能和自家的TrackBack集成便于监视project的变化。
搜索功能
1.左侧项目结构中搜索:在这个搜索中你可以快速搜索你要查看的类,快捷键,鼠标点击左侧上面项目结构窗口,然后按command + F键会出现如下图所示的搜索框,在框中输入你想要的类回车即可。
2.类中方法搜索:将鼠标定 位到右侧代码中,点击command + F,会弹出搜索框,输入方法回车即可。
3.在文件中搜索:也就是全局搜索,快捷键F5或者去上面菜单栏中的search栏中查找,输入你想要的类或者方法,回车查找,下面会列出所有使用的地方。
4.实体类查找:软件菜单栏search中最后一项–Find Entity,点击输入你要查找的实体类,回车查找。
视图分类
1.Butterfly:如果两个实体间存在关系,就显示这两个实体间的调用和被调用关系;如下图为Activity中的一个方法的关系图。
2.Calls:展示从你选择的这个方法开始的整个调用链条。
3.Called By:展示了这个实体被哪些代码调用,这个结构图是从底部向上看或者从右到左看。
4.Calls Relationship/Calledby Relationship:展示了两个实体之间的调用和被调用关系,操作方法:首先右键你要选择的第一个实体,然后点击另一个你要选择的实体,如果选择错误,可以再次点击其他正确即可,然后点击ok。
5.Contains:展示一个实体中的层级图,也可以是一个文件,一条连接线读作”x includes y“。
6.Extended By:展示这个类被哪些类所继承。
7.Extends:展示这个类继承自那个类。
导入项目
导入项目有两种方法,一种是从菜单栏点击File–>New–>Project,另一种是点击下面界面中间的New Project
点击后,会进入到如下界面,你可以更改项目名称为你要导入的项目名称,以便于以后查找,你可以直接导入你正在开发的项目,你的代码更改后,这个项目也会自动更新,方便你快速开发,不需要每次导入。
更改名称后点击Next进入如下界面,这个界面是让你选择你要导入项目包含了哪几种语言,注意,在C/C++后面有两种模式,下面有注释,其中Strict模式包含Object-C和Object—C++,还有Web的注释,自己看看就好了,在此就不再解释,
然后点击Next进入下面界面:
在此界面点击上面的“Add a Directory”,也就是添加你要导入项目的路径,点击后会弹出如下界面,此时有个奇葩就是弹出的界面会被上图界面遮挡,此时你要移开该界面,然后会出现下面界面:
点击后面的带有三个点的按钮选择你要加入的项目文件夹,此处不用打开文件夹,只要点中文件夹点击open按钮:
此时只需要点击OK即可,界面会跳转到如下界面:
此时有两个选项,一个是立即分析代码,一个选择配置,对于我们来说只需要默认即可,然后点击OK按钮,此时软件开始分析代码,分析完成后会出现如下界面:
左侧会出你的项目结构,中间出现你项目的名称,此时你可以操作左面项目来查看相关代码,如下图所示:
这么多类和方法如何快速定 位,那肯定是搜索,该软件针对不同位置,不同属性有不同的搜索方法,下面介绍搜索功能。