前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >代码分析神器

代码分析神器

作者头像
Jasonangel
发布2021-08-26 15:50:22
1.7K0
发布2021-08-26 15:50:22
举报

我们在分析工程源码时,会分析各种函数的调用关系,如果是单向的还好,比如:A调用B,B调用C,C调用D和E,这种逻辑非常容易梳理。

但实际中更常见的是,我们要分析 Linux 或者 Andorid 源码,或者一些开源第三方库的源码。这种源码代码量非常庞大,函数调用关系也很复杂,比如:A调用B和C,同时获取C的返回值进行回调,B调用D和E并且将返回值返回给A。如果想梳理这种关系单靠自己是比较难的,所以使用协助分析软件是必须的。

今天为大家介绍两款代码分析工具:bouml、understand。

bouml 在4.23版本之前是免费的,但是有一定bug,比如:有一个箭头指向调用,你删了,后来发现删错了,再次建立会发现建立不起来。如果工作用,可以购买正版。

bouml支持C++、Java、Idl、Php、Python、MySQL。主要用来分析面向对象语言对于类的继承关系和函数调用关系。

understand 软件,没有免费版本,但 CSDN 有蛮多注册机可以下载。支持 C、C++、C#、Ada、Java、Fortran、Delphi、Jovial等。对我们嵌入式工程师来说,知道它可以用来分析 C 语言函数调用关系即可。

bouml 软件和教程在公众号后台回复【code】即可领取。

软件使用教程大家在CSND和博客园找找就行,有很多。

bouml示例

官网:https://www.bouml.fr/

参考文档:https://www.bouml.fr/documentation.html

时序图和函数调用关系图。

其中时序图可以很好的表现每个函数的生命周期,我在很多技术文档都见过时序图。

bouml 是用 UML 生成调用关系的其中一个软件,还有很多其他付费 UML 软件,功能更加强大。

understand示例

官网:https://www.scitools.com/

·················· END ··················

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式Linux系统开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • bouml示例
  • understand示例
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档