极客讨论器现在可以自动分析 C/C++/Java/C#/Python/Objective-C 语言源代码并生成表示调用关系的函数地图,并使用“旅游”模式,在函数地图中浏览代码。如图:
源代码窗口下方就是函数地图。它和源代码是联动的,双击一个函数节点,就自动打开这个函数的代码,编辑或者浏览源代码时则会在地图上自动定位这个函数节点。
每个函数节点上还有表示修改状态的图标,不管是在内部编辑器还是外部编辑器中修改了这个函数的代码,地图上会立即反映出来。如图:
在 UltraEdit 中修改了 Board::operator[]函数,地图上这个函数修改状态图标是红色,表示“有修改”。
建立起函数地图后,我们就可以用“旅游”模式在地图中浏览源代码了。如图:
双击 main 函数打开 main 的代码后,它调用的 Game::startGame 函数背景为黑色(和消息回忆模式一样)。此时选中 startGame ,地图上方的“前往”按钮就可以使用了:
点击一下“前往”按钮,直接打开 Game::startGame 的源代码,并将调用栈记录在消息板上,调用方是 main ,被调用方是 Game::startGame ,都是超链接,随时可以通过这些超链回到调用函数 main ,或者调用位置(也就是点击“前往”按钮以前所在的位置):
在这里有动画展示,和下载地址,欢迎使用。
1
cxl008 2015-09-18 09:05:45 +08:00
看起来不错
|
2
simpx 2015-09-18 09:20:02 +08:00
很有意思的项目,不过现在只有 windows 平台吗?
|
3
missdeer 2015-09-18 09:45:52 +08:00
这 UI 有点差啊
|
4
GPU 2015-09-18 09:54:22 +08:00
如果 UI 现代一点 ,就很棒很棒了 。
话说如果有这个 ,看别人的代码就不用这么麻烦,要用全文搜索工具咯 。 一直好想有这类的工具 |
5
WalkingEraser 2015-09-18 10:15:16 +08:00
有机会的话,也想完成个像样功能的 parser
|
6
ZHenJ 2015-09-18 10:23:01 +08:00
不错,看是公司的版权,国内做工具类软件的公司吗? UI 就不吐槽了,估计是人手不足?函数地图能够分离出来的话,多屏显示会很棒
|
7
cppgeek OP |
8
scys 2015-09-18 10:39:44 +08:00
其实我想问,测试过多大的数量级的代码?
如果好用,试试跑 AOSP 等级 |
9
mocxe2v 2015-09-18 10:40:10 +08:00
用过 Understand ,不知这个和它的区别在什么地方?
|
10
21grams 2015-09-18 11:49:19 +08:00
能代替 sourceinsight 吗?
|
11
libo26 2015-09-18 13:25:52 +08:00
期待 UI 更新
|
12
cppgeek OP |
13
cppgeek OP |
14
RangerWolf 2015-09-18 15:01:20 +08:00
可以直接 js 代码的处理吗?
|
15
clijiac 2015-09-18 15:33:22 +08:00
UI 略古老 但是看起来不错
|
16
sorra 2015-09-18 15:37:29 +08:00
你们这个能识别函数重载吗?
|
17
cppgeek OP |
18
shuax 2015-09-18 21:55:16 +08:00
吃我 IDA 一记
|
19
gaocegege 2015-09-21 19:40:57 +08:00
https://github.com/colder/insane
看上去只是一个 controll flow graph generator? |