源码阅读工具 | 您所在的位置:网站首页 › 代码分析工具understand › 源码阅读工具 |
相对于大家熟知的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:显示调用和被调用关系,如果存在。选定的实体用红色标识,如图: 显示从此函数发出的整个呼叫链。 实体之间的每条线被读作“x调用y”。 显示谁直接调用了该函数。 显示两个函数之间的调用以及被调用关系。 Calls Relationship: root 调用ShowInitInfo Calledby Relationship: ShowInitInfo 调用root: 函数实体的流程图:不完美,但很清晰。 显示函数实体的结构,包括:函数名,函数返回值、函数实体被调用函数、函数实体调用了的函数; 对选中函数的定义文件的描述,包括该文件包含的头文件、变量、文件包含的函数等 生成UML的时序图,具体的请另行查看,不做过多解释。 Cluster graphs:聚类图包括:Cluster Call, Cluster Callby, Cluster Call Butterfly, Cluster Call Internal, and Cluster Control Flow等,与上述的其他图类似,但更全面,有大局观。这里不一一列举。 |
CopyRight 2018-2019 实验室设备网 版权所有 |