资讯专栏INFORMATION COLUMN

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

soasme / 2498人阅读

摘要:极客讨论器现在可以自动分析语言源代码并生成表示调用关系的函数地图,并使用旅游模式,在函数地图中浏览代码。它和源代码是联动的,双击一个函数节点,就自动打开这个函数的代码,编辑或者浏览源代码时则会在地图上自动定位这个函数节点。

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


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

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


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

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


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

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

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/64575.html

相关文章

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

    摘要:极客讨论器现在可以自动分析语言源代码并生成表示调用关系的函数地图,并使用旅游模式,在函数地图中浏览代码。它和源代码是联动的,双击一个函数节点,就自动打开这个函数的代码,编辑或者浏览源代码时则会在地图上自动定位这个函数节点。 极客讨论器现在可以自动分析 C/C++/Java/C#/Python/Objective-C 语言源代码并生成表示调用关系的函数地图,并使用旅游模式,在函数地图中浏...

    yuanxin 评论0 收藏0
  • 消息路标和函数调用

    摘要:路标是通过批注消息设置的,所以叫消息路标。建立消息路标的最大用途就是查看函数调用链。通过路标的闪烁可以看到是否有调用关系,而如果想看调用链,双击闪烁的路标即可上图列举了调用调用调用调用两条调用关系链。 之前介绍了极客讨论器通过分析C/C++/Java/Python/C#/Objective-C代码来生成函数地图,和按调用顺序查看源代码的旅行模式。 而在函数地图下,还可以通过给函数节点设...

    alanoddsoff 评论0 收藏0
  • 消息路标和函数调用

    摘要:路标是通过批注消息设置的,所以叫消息路标。建立消息路标的最大用途就是查看函数调用链。通过路标的闪烁可以看到是否有调用关系,而如果想看调用链,双击闪烁的路标即可上图列举了调用调用调用调用两条调用关系链。 之前介绍了极客讨论器通过分析C/C++/Java/Python/C#/Objective-C代码来生成函数地图,和按调用顺序查看源代码的旅行模式。 而在函数地图下,还可以通过给函数节点设...

    warmcheng 评论0 收藏0
  • JavaScript 私有成员

    摘要:为什么虚函数中如果在祖先和子孙类中定义了相同的名称的方法,默认会调用子孙类中的这个方法。然而,这跟私有成员又有什么关系呢因为私有函数肯定不是虚函数,所以在中,如果将定义为私有,那调用的就一定是。虚函数的概念有点小复杂。 Class field declarations for JavaScript(JavaScript 类的字段声明)目前已经进入了 stage-3,其中包含一项 OOP...

    lakeside 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<