博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
阅读代码分析工具Understand 2.0试用
阅读量:5111 次
发布时间:2019-06-13

本文共 1399 字,大约阅读时间需要 4 分钟。

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

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

Understand 2.0能够从下载到,安装后能够试用15天。

使用Understand阅读代码前,要先创建一个Project。然后把全部的源码文件增加到这个Project里。这里我创建了一个ATLSTLProject,然后把Microsoft Visual Studio 2008带的ATLSTLMFC的源码增加当中。须要说明的是,Understand支持非常多种源码,包含C#,而不光是C++代码。

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

Understand界面概览

 

 以下逐个介绍Understand的特性。

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

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

CFile类图

 

当然,假设愿意,你能够生成CObject派生的整个MFC的类图()。

这样的图曾经仅仅能在MSDN里能够见到,如今能够在瞬间自己主动生成。非常酷!

 

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

 

函数调用关系图

 

以及头文件的包含关系:

头文件包含图

 

二,出色的增量搜索功能

增量搜索或许不是新概念。在Visual Studio里早就有。

可是Understand里的增量搜索具有动态代码加亮的功能。

也就是说,能够把选中的标识符的全部实例。都以醒目的颜色显示出来,对于阅读代码时,很有帮助。例如以下图,对函数參数pFileTime运行增量搜索,则它出现的过地方都会被标示出来。

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

 

增量搜索

 

 

三,丰富的标识符信息

Understand的代码信息数据库十分完好,全部的标识符能够分类显示。每一类标识符又具有不同的信息。

如关于函数的信息,能够显示定义它的文件名称,返回值类型,參数信息,调用函数,被调用函数,引用这个函数的信息,代码量等。

当中,引用信息里会有引用类型,如申明、调用、定义等,很有用。

函数信息

 

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

变量信息

 

四,方便的搜索功能

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

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

文件名称搜索

 

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

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

 

备注:

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

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

转载于:https://www.cnblogs.com/hrhguanli/p/4564427.html

你可能感兴趣的文章
MySQL 索引 总结
查看>>
VMware client 无法显示hardware中的信息,提示No new host data available. Data will be updated in 5 minutes....
查看>>
qt学习之路
查看>>
前端动态属性页面的 要用id做name 因为这样方便在提交表单时候取到值
查看>>
高并发唯一ID解决方案
查看>>
C语言学习
查看>>
长生生物狂犬病疫苗造假
查看>>
hive权限配置
查看>>
将文件从一台linux机器拷贝到多台的方法
查看>>
Makefile 一点一滴(二)—— 输出文件到指定路径
查看>>
Java多线程并发编程之原子变量与非阻塞同步机制
查看>>
CLR via C#学习笔记-第八章-扩展方法
查看>>
c# 封装
查看>>
QT高级编程技巧(一)-- 编写高效的signal & slot通信代码
查看>>
大道至简 第四章 读后随笔
查看>>
[Java] 資料輸入的差異性(System.in、BufferedReader、Scanner)
查看>>
【Internet History, Technology, and Security】第六讲心得
查看>>
关于JAVA
查看>>
2019年,如何从小白升级到大牛程序员呢?
查看>>
Android jni 编程4(对基本类型二维整型数组的操作)
查看>>