ASM静态代码解析方法依赖及生成方法调用流程图方法 |
您所在的位置:网站首页 › java生成函数调用链源码 › ASM静态代码解析方法依赖及生成方法调用流程图方法 |
系统依赖
系统开发,随着功能不断完善,体量渐渐增大,分模块抽象,复用工具等;涉及复杂的业务逻辑的时候,也会引入外部服务,外部工具;业务开发追求的是功能的完整性和快速迭代,但是在分析系统可用性可靠性的时候,我们往往需要找到一些系统的薄弱点,及被依赖点 依赖排查在java开发中,最细粒度的依赖就是方法级依赖,有了方法级依赖,就可以拓展到系统,平台级依赖 大多数时候,我们都是靠撸代码来找出方法间的依赖,这样耗费人力物力,还容易遗漏,当然开源界也有不少的成型的工具来做这方面的工作 asm解析用asm只需要写简单的几行代码就可以做到方法级别的依赖梳理,asm是一个字节码框架,它读取.class文件,并对类字节码文件结构进行解析,同时还提供一些扩展的方式来定制我们想要的类结构信息 1.定义“方法”对象结构 /** * 存储类名,方法名,方法描述,及方法内部调用过的方法 */ public class MethodInfo { String cname; String mname; String descripter; List invokeInfo = new ArrayList(); public MethodInfo(String cname, String mname, String descripter) { this.cname = cname; this.mname = mname; this.descripter = descripter; } public void addInvoke(MethodInfo invoke) { invokeInfo.add(invoke); } public List getInvoke() { return invokeInfo; } public String getClasz() { return Type.getType("L" + cname + ";").getClassName(); } public String getMethod() { Type retType = Type.getReturnType(descripter); |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |