Understand 2.0是一款源码阅读分析软件,功能强大。试用过一段时间后,感觉相当不错,确实能够大大提高代码阅读效率。

因为Understand功能十分强大,本文不可能详尽地介绍它的全部功能,所以仅仅列举本人觉得比較重要或有特色的功能,以做抛砖引玉之举。

Understand 2.0能够从http://www.scitools.com/下载到,安装后能够试用15天。

使用Understand阅读代码前。要先创建一个Project,然后把全部的源码文件增加到这个Project里。这里我创建了一个ATLSTL的Project。然后把Microsoft Visual Studio 2008带的ATL、STL、MFC的源码增加当中。

须要说明的是,Understand支持非常多种源码,包含C#。而不光是C++代码。

这是整个用户界面的概览,能够看到和Visual Studio的风格非常类似。全部了子窗体都能够随意停靠或折迭。

以下逐个介绍Understand的特性。

一,强大的自己主动画图能力。

Understand能够生成很多种实用的图形,如类关系图、函数调用关系图、头文件包含关系等。以下是CFile的类图。

当然,假设愿意,你能够生成CObject派生的整个MFC的类图(http://p.blog.csdn.net/images/p_blog_csdn_net/qwang24/EntryImages/20090411/ButterflyGraph-CObject.png)。这样的图曾经仅仅能在MSDN里能够见到,如今能够在瞬间自己主动生成,非常酷!

还能够显示函数的调用关系:

以及头文件的包含关系:

二,出色的增量搜索功能

增量搜索或许不是新概念。在Visual Studio里早就有。可是Understand里的增量搜索具有动态代码加亮的功能。也就是说,能够把选中的标识符的全部实例。都以醒目的颜色显示出来,对于阅读代码时,很有帮助。例如以下图。对函数參数pFileTime运行增量搜索。则它出现的过地方都会被标示出来。

这样,这个參数是怎样被使用的,一目了然。

三,丰富的标识符信息

Understand的代码信息数据库十分完好,全部的标识符能够分类显示。每一类标识符又具有不同的信息。如关于函数的信息,能够显示定义它的文件名称,返回值类型,參数信息。调用函数。被调用函数,引用这个函数的信息,代码量等。当中,引用信息里会有引用类型,如申明、调用、定义等,很有用。

而对于变量信息,而以显示变量在哪里定义的。是设置变量的值还是使用变量的值等。

四,方便的搜索功能

非常多窗体都有方便的搜索功能。便于高速定位须要的信息。

如项目浏览器里,能够输入文件名称,高速找到相关的文件。

Understand还有非常多其它强大的功能,如报表功能。代码编辑。代码变化跟踪等。

当然,和其它全部的代码分析工具软件一样,Understand也有一些不足之处,如有时候会解析错误,不支持COM代码的Attribute扩展,对机器配置要求较高,对正則表達式的支持不完好等。

备注:

解决不能正确解析COM的Attribute扩展问题: 搜索正則表達式: /]/s*$ , 替换为 /]; (使用Visual Studio的在多个文件里替换功能,不能直接使用Unserstand替换。)

解决不能正确解析__interfacekeyword问题: 在project选择添加宏定义,该__interface它被定义为struct。

阅读代码分析工具Understand 2.0试用的更多相关文章

  1. 代码阅读分析工具Understand 2.0试用

    Understand 2.0是一款源代码阅读分析软件,功能强大.试用过一段时间后,感觉相当不错,确实可以大大提高代码阅读效率.由于Understand功能十分强大,本文不可能详尽地介绍它的所有功能,所 ...

  2. Android代码分析工具lint学习

    1 lint简介 1.1 概述 lint是随Android SDK自带的一个静态代码分析工具.它用来对Android工程的源文件进行检查,找出在正确性.安全.性能.可使用性.可访问性及国际化等方面可能 ...

  3. 常用 Java 静态代码分析工具的分析与比较

    常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基 本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBu ...

  4. C++静态代码分析工具推荐——PVS-Studio

    长假归来,最近一直没更新,节前本来就想写这篇了,一直到今天才有时间. 关于静态代码分析在维基百科上可以查到很详细的介绍:https://en.wikipedia.org/wiki/List_of_to ...

  5. Cppcheck 1.54 C/C++静态代码分析工具

    Cppcheck是一个C/C++代码分析工具,只检测那些编译器通常无法检测到的bug类型.   官方上建议让编译器提供尽量多的警告提示:1.使用Visual C++的话,应使用警告等级4 2.使用GC ...

  6. [转载] 常用 Java 静态代码分析工具的分析与比较

    转载自http://www.oschina.net/question/129540_23043 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代 ...

  7. 【转载】常用 Java 静态代码分析工具的分析与比较

    摘自:http://www.oschina.net/question/129540_23043常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后 ...

  8. java静态代码分析工具infer

    infer是一个静态代码分析工具,探测bugs. 主要支持Java.C/C++ 安装:brew install infer 在线展示:https://codeboard.io/projects/115 ...

  9. Https与Http,SSL,DevOps, 静态代码分析工具,RFID, SSH, 非对称加密算法(使用最广泛的一种是RSA), 数字签名, 数字证书

    在URL前加https://前缀表明是用SSL加密的. 你的电脑与服务器之间收发的信息传输将更加安全. Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定. http和h ...

随机推荐

  1. 无法启动outlook mapi

    office2013 管理员权限,在命令行中定位到office15文件夹,然后运行命令"outlook /importprf ..prf"

  2. [转]CentOS_yum的详细使用方法

    yum 是什么yum = Yellow dog Updater, Modified主要功能是更方便的添加/删除/更新RPM包.它能自动解决包的倚赖性问题.它能便于管理大量系统的更新问题 yum特点可以 ...

  3. ZOJ 3607贪心算法

    http://blog.csdn.net/ffq5050139/article/details/7832991 http://blog.watashi.ws/1944/the-8th-zjpcpc/ ...

  4. 18-UIKit(Core Animation、广播设计模式)

    目录: 一.Core Animation 二.广播设计模式 回到顶部 一.Core Animation 1.  是什么? 底层的动画框架 2.  框架对比 UIKit           UI     ...

  5. 彻底明白Java的IO系统

    java学习:彻底明白Java的IO系统 文章来源:互联网 一. Input和Output1. stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源.在Java的IO中,所有 ...

  6. AES加密时抛出java.security.InvalidKeyException: Illegal key size or def

    原文:AES加密时抛出java.security.InvalidKeyException: Illegal key size or def 使用AES加密时,当密钥大于128时,代码会抛出 java. ...

  7. ※数据结构※→☆线性表结构(list)☆============单向循环链表结构(list circular single)(四)

    循环链表是另一种形式的链式存贮结构.它的特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环. 单循环链表——在单链表中,将终端结点的指针域NULL改为指向表头结点或开始结点即可. 循环链表的 ...

  8. html5游戏开发--"动静"结合用地图块拼成大地图 & 初探lufyl

    一.前言   本次教程将向大家讲解如何用html5将小地图块拼成大地图,以及如何用现有的高级html5游戏开发库件lufylegend.js开发游戏.   首先让我们来了解了解如何用html5实现动画 ...

  9. js注册检测 用户名、密码、手机号、邮箱

    请输入电话号码:<input name="" type="text" id="telphone" value="" ...

  10. VC动态轨迹画线

    分类: 2.4 线程/图形学2010-04-30 22:14 1878人阅读 评论(0) 收藏 举报 文档null 这是一个绘制直线的简单绘图程序,能过实现动态轨迹画线,在拖动时产生临时线来表示可能画 ...