自动分析源代码,创建函数地图展示调用关系

news/2024/7/1 2:36:00

极客讨论器现在可以自动分析 C/C++/Java/C#/Python/Objective-C 语言源代码并生成表示调用关系的函数地图,并使用“旅游”模式,在函数地图中浏览代码。如图:

functionmap.png
源代码窗口下方就是函数地图。它和源代码是联动的,双击一个函数节点,就自动打开这个函数的代码,编辑或者浏览源代码时则会在地图上自动定位这个函数节点。

每个函数节点上还有表示修改状态的图标,不管是在内部编辑器还是外部编辑器中修改了这个函数的代码,地图上会立即反映出来。如图:

trackmodification.png
在 UltraEdit 中修改了 Board::operator[]函数,地图上这个函数修改状态图标是红色,表示“有修改”。

建立起函数地图后,我们就可以用“旅游”模式在地图中浏览源代码了。如图:

travellingmode1.png
双击 main 函数打开 main 的代码后,它调用的 Game::startGame 函数背景为黑色(和消息回忆模式一样)。此时选中 startGame ,地图上方的“前往”按钮就可以使用了:

travellingmode2.png

点击一下“前往”按钮,直接打开 Game::startGame 的源代码,并将调用栈记录在消息板上,调用方是 main ,被调用方是 Game::startGame ,都是超链接,随时可以通过这些超链回到调用函数 main ,或者调用位置(也就是点击“前往”按钮以前所在的位置):

travellingmode3.png

在这里有动画展示,和下载地址,欢迎使用。


http://lihuaxi.xjx100.cn/news/286941.html

相关文章

关于学习Python的一点学习总结(34->构造函数->重写方法和特殊构造)

74.构造函数 class Foob:def __init__(self):(注意前面和后面分别都是两个下划线)self.name66输出:>>> fFoob()>>> f.name66 ---------------------------class Foob:def __init__(self,value):self.namevalue输出&#x…

开源项目哪家强?Github年终各大排行榜超级盘点(内附开源项目学习资源)

整理 | Jane出品 | AI科技大本营【导语】提到开源项目,2018 年注定是不平凡的一年。据 Octoverse 报告数据,仅在 2018 年,Github 上的新用户就比过去六年的用户总数还要多 ,存储库数量近一亿,这些增长都要归功于开源社…

php域名黑名单,thinkphp 6 IP 黑名单功能

最近用tp6 开发的网站,一直被cc攻击,装了cnzz 看了一下,基本都是北京的几个IP。由于是用的虚拟主机,只能在代码端加上IP黑名单的功能了。第一步:创建一个中间件CheckIp.php文件位置app\middleware\CheckIp.php具体代码…

这道算法题太简单?你忽略了时间复杂度的要求!

(给视学算法加星标,修炼编程内功)来源:五分钟学算法这道题目很有意思!忽略时间复杂度的要求的话,so easy !加上了时间复杂度的要求,so hard!而很多小伙伴一开始没有注意时…

struts 页面取值问题

Struts2中的OGNL表达式语言是对Xwork的OGNL的封装。我们要理解一下几点: 1.Struts2中将ActionContext作为OGNL的上下文环境(ActionContext内部含有一个Map对象)2.Struts2中的OGNL表达式语言的根对象是一个ValueStack&a…

min25模板链接

https://www.cnblogs.com/GreenDuck/p/10695376.html

关于学习Python的一点学习总结(35->关联超类)

76.调用为关联的超类(继承的类)构造函数 先举个例子: class Bird: def __init__(self): self.hungry True def eat(self): if self.hungry: print(Aaaah ...) self.hungry False else: print(No, thanks!)class SongBird(Bird): def __init…

这样学算法,包会包懂so easy~

整理 | Jane出品 | AI科技大本营面试前,大家都会开始刷各类网站,希望能在算法之道上有所进益,也期待有幸能在面试中碰上原题,而在那么多的网站中,LeetCode 一定是候选学习的网站之一。但是 LeetCode 网站上的题量和难度…