System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及软件开发,尤其涉及一种调用链路的处理方法、装置、设备及存储介质。
技术介绍
1、在软件开发过程中,当需要对当前项目代码进行分析代码执行流程、漏洞分析时,开发人员梳理出整个项目代码中方法之间的调用链路,通过方法调用关系能够更好地辅助对整个项目代码的分析。
2、目前针对项目代码中存在大量变动的对象(方法)梳理调用链路时,大量的调用链路生成会导致严重的性能问题,且大量的调用链路会造成可视性降低难以展示,以及降低调用链路的存储和查询效率。
技术实现思路
1、本专利技术提供了一种调用链路的处理方法、装置、设备及存储介质,以对调用链路的结构进行优化,提高生成调用链路的效率以及提高调用链路的可视性。
2、根据本专利技术的一方面,提供了一种调用链路的处理方法,该方法包括:
3、识别项目代码中存在变动的至少一个目标对象,生成目标对象集合;
4、分别查询所述目标对象集合中各目标对象在所述项目代码中的调用依赖关系,并基于目标对象集合中各目标对象的调用依赖关系和对象标识索引生成各目标对象的初始调用链路;其中,所述对象标识索引为项目代码中对象的标识索引;所述调用依赖关系包括至少一个调用依赖对象;
5、获取初始调用链路中要保留的关键节点,并基于所述关键节点对所述初始调用链路进行压缩得到结构优化后的目标调用链路。
6、根据本专利技术的另一方面,提供了一种调用链路的处理装置,该装置包括:
7、集合生成模块,用于识别项
8、初始链路生成模块,用于分别查询所述目标对象集合中各目标对象在所述项目代码中的调用依赖关系,并基于目标对象集合中各目标对象的调用依赖关系和对象标识索引生成各目标对象的初始调用链路;其中,所述对象标识索引为项目代码中对象的标识索引;所述调用依赖关系包括至少一个调用依赖对象;
9、链路优化模块,用于获取初始调用链路中要保留的关键节点,并基于所述关键节点对所述初始调用链路进行压缩得到结构优化后的目标调用链路。
10、根据本专利技术的另一方面,提供了一种电子设备,所述电子设备包括:
11、至少一个处理器;以及
12、与所述至少一个处理器通信连接的存储器;其中,
13、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术任一实施例所述的调用链路的处理方法。
14、根据本专利技术的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本专利技术任一实施例所述的调用链路的处理方法。
15、本专利技术实施例的技术方案,通过基于对象标识索引以及项目代码中存在变动的目标对象的调用依赖关系生成目标对象的初始调用链路,并对初始调用链路进行结构优化,提高了调用链路的构建效率,降低了调用链路的存储占用,同时结构优化后的调用链路的可视性大大提高,为生成的调用链路视图的易读性奠定了基础。
16、应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
本文档来自技高网...【技术保护点】
1.一种调用链路的处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,基于目标对象集合中各目标对象的调用依赖关系和对象标识索引生成各目标对象的初始调用链路,包括:
3.根据权利要求2所述的方法,其特征在于,若未命中,则基于所述查询对象的调用依赖对象,构建所述查询对象与所述查询对象的调用依赖对象之间调用链路的链路结构,包括:
4.根据权利要求3所述的方法,其特征在于,更新所述对象标识索引,包括:
5.根据权利要求2所述的方法,其特征在于,若命中,则复用以所述查询对象对应的链路节点为根节点的链路结构,包括:
6.根据权利要求1所述的方法,其特征在于,基于所述关键节点对所述初始调用链路进行压缩,包括:
7.根据权利要求1所述的方法,其特征在于,在得到目标调用链路之后,还包括:
8.一种调用链路的处理装置,其特征在于,包括:
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计
...【技术特征摘要】
1.一种调用链路的处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,基于目标对象集合中各目标对象的调用依赖关系和对象标识索引生成各目标对象的初始调用链路,包括:
3.根据权利要求2所述的方法,其特征在于,若未命中,则基于所述查询对象的调用依赖对象,构建所述查询对象与所述查询对象的调用依赖对象之间调用链路的链路结构,包括:
4.根据权利要求3所述的方法,其特征在于,更新所述对象标识索引,包括:
5.根据权利要求2所述的方法,其特征在于,若命中,则复用以所述查询对象...
【专利技术属性】
技术研发人员:马文哲,原雷,金华利,丁乔,唐玉龙,胡泰嵩,
申请(专利权)人:杭州新中大科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。