相对于大家熟知的source insight 源码阅读工具,understand工具似乎差了不少。
但是,两者的优缺点很显而易见,
source insight 优缺点(捡重点说):
- 很好的“即点即现”功能,鼠标所到就可以看到相关内容的定义/声明;
- 不能够很好的维护/支持 函数的调用层级关系;
相对的 understand源码阅读工具,不支持“即点即现”功能,但却很漂亮的维护/支持了 函数的层级调用关系。
如果你有这方面的需求,建议尝试用用understand工具,它能够更好地为你理清楚函数的调用层级关系。
以下,understand的功能解释/使用。

层级关系图:

如下代码示例:

void root(void)
{//平台初始化Init_Flats();//创建系统任务ShowInitInfo("创建系统任务2...");CreateSysTask2();//加载主维护口ShowInitInfo( "加载维护端口..." );InitSysPort();//初始化负控系统ShowInitInfo("创建/扫描系统文件...");if(!bInSafe)InitFKSystem();if(bInSafe){Trace("安全模式");}ExInitShowInitInfo();//退出ROOT任务
}

butterfly:

显示调用和被调用关系,如果存在。选定的实体用红色标识,如图:

可知,选定的为root函数,VC_Entry函数调用多级…最终调用了root函数;root函数调用了包括ShowInitInfo函数等等,以及更深层次的调用。

Calls:

显示从此函数发出的整个呼叫链。 实体之间的每条线被读作“x调用y”。

可知,root函数中调用的如图所示的函数。

Called By:

显示谁直接调用了该函数。

Calls Relationship / Calledby Relationship:

显示两个函数之间的调用以及被调用关系。
Calls Relationship:
root 调用ShowInitInfo

Calledby Relationship:
ShowInitInfo 调用root:

Control Flow

函数实体的流程图:不完美,但很清晰。

Declaration:

显示函数实体的结构,包括:函数名,函数返回值、函数实体被调用函数、函数实体调用了的函数;

Declaration File

对选中函数的定义文件的描述,包括该文件包含的头文件、变量、文件包含的函数等

gdwLastSaveTime为文件定义的变量,

UML Sequence Diagram:

生成UML的时序图,具体的请另行查看,不做过多解释。

Cluster graphs:聚类图

包括:Cluster Call, Cluster Callby, Cluster Call Butterfly, Cluster Call Internal, and Cluster Control Flow等,与上述的其他图类似,但更全面,有大局观。这里不一一列举。

源码阅读工具-understand相关推荐

  1. 源码阅读工具 UnderStand

    源码阅读工具 UnderStand 特色: 1.支持多语言:Ada, C, C++, C#, Java, FORTRAN, Delphi, Jovial, and PL/M ,混合语言的project ...

  2. WSL下源码阅读工具LXR(Linux Cross-Referencer)的配置

    题外话:不知道是不是太久没有配置/部署软件的原因,上手配置LXR给我的体感比较不好,因此写下此博客记录该工具配置的过程 项目官网:zh/LXR 项目 参考教程1:史上最详细的LXR安装介绍_mosen ...

  3. 【转载】ubuntu下linux内核源码阅读工具和调试方法总结

    http://blog.chinaunix.net/space.php?uid=20940095&do=blog&cuid=2377369 一 linux内核源码阅读工具 window ...

  4. Linux内核基础——Linux源码阅读工具Source Insight4.0

    Linux内核源码阅读工具--source insight4.0 Source insight4.0工具的使用入门 一.Souce insight建立工程.导入源码 二.遍历所有源码文件建立符号索引 ...

  5. Android源码阅读工具AndroidXRef使用说明

    (62条消息) AndroidXRef使用说明_n_fly的博客-CSDN博客 http://www.aospxref.com AndroidXRef (81条消息) 官方版Android源码查看工具 ...

  6. 源码阅读工具 lxr 安装配置初探

    说明:本文是第一次安装 lxr 的记录文章,适合加深对 lxr 的理解:如果是想迅速使用 lxr 的话,本文中有些地方对 lxr 的配置不太妥当,建议先阅读本文,然后再以 <LXRUserMan ...

  7. lambda-view: JS源码阅读工具

    项目GitHub地址:https://github.com/Jianru-Lin/lambda-view lambda-view能做什么? 下面看一下我从lambda-view项目地址处截的一张图.对 ...

  8. Linux内核源码阅读以及工具(转)

    Linux内核源码阅读以及工具(转) 转载地址:Linux内核源码阅读以及工具(转)

  9. gh-ost大表DDL工具源码阅读

    gh-ost大表DDL工具源码阅读 最终目的 开发环境与测试数据库准备 一个简单的ddl案例 debug分析程序执行过程 vscode debug配置 变量介绍 核心处理逻辑 分析我的需求 最终目的 ...

最新文章

  1. AR+ 实时音视频通话,×××无缝结合
  2. Citrix VDI实战攻略之八:测试验收
  3. 从方法到实践!深度解读:企业数据治理到底治什么?怎么治?
  4. 03-requests模块携带UA请求头,携带参数,携带cookie,持久化存储
  5. NumPy 数学函数
  6. Linux学习-01-安装虚拟机与linux系统
  7. js设计一个带开关的时钟_数电题:三个按键一个灯
  8. 孤独终老和勉强结婚,你会选什么?
  9. 当你使用R安装包出现rdb is corrupt问题的时候
  10. 台式计算机怎么设置屏幕常亮,怎么设置电脑屏幕一直亮着
  11. 用好Windows 7自带文件加密工具
  12. 19春北理工计算机应用基础,19春北理工《计算机应用基础》在线作业(02)【标准答案】.doc...
  13. 电脑装机人员、管理软件安装实施人员必备工具包使用教程汇总值得收藏
  14. 判断矩形相似C语言,C++判断矩形相交的方法
  15. 【LINUX】自己整理的干货,拿去看吧,不谢!!!。。。。。。。。。。。。
  16. 网站换服务器 备案,网站换服务器备案吗
  17. 突发:史蒂芬·霍金去世,享年76岁!
  18. 部署策略对比:蓝绿部署、金丝雀发布及其他
  19. [动态规划] 区间DP
  20. 【Nessus安装、使用】

热门文章

  1. 部署Tomcat服务器
  2. 刚刚!鸿蒙OS 2升级用户破千万!(1000+企业共建鸿蒙生态)
  3. 自动售货机每个月用多少M的物联卡?
  4. 传媒经营之交通广播电台广告的独特个性
  5. Second season nineteenth episode,Eddie does not move out
  6. 基于VS+Opencv2.4.10的微信跳一跳辅助工具
  7. pptpd搭建过程中 启动成功但不显示ppp0端口
  8. 一位博士在华为的22年
  9. c语言常用函数库 c++常用函数库
  10. 养老保险怎么缴最划算?应该少交还是多交?