一种内存泄露链路的处理方法、装置、介质和电子设备制造方法及图纸

技术编号:24497353 阅读:48 留言:0更新日期:2020-06-13 03:34
本发明专利技术提供了一种内存泄露链路的处理方法、装置、介质和电子设备,所述处理方法包括:在生成当前应用程序安装包的情况下,对当前应用程序的原始代码进行混淆处理,并生成包括各个映射关系的映射文件;在当前应用程序运行的情况下,监控内存泄露现象,并生成至少一条内存泄露链路;对生成的至少一条内存泄露链路进行解析,解析出原始代码对应的内存泄露链路。本发明专利技术通过生成的包括各个映射关系的映射文件,对生成的至少一条内存泄露链路进行解析,自动解析出原始代码对应的内存泄露链路,快速且便捷地定位出存在内存泄露问题的泄露链路。

A processing method, device, medium and electronic device of memory leak link

【技术实现步骤摘要】
一种内存泄露链路的处理方法、装置、介质和电子设备
本专利技术涉及计算机
,具体而言,涉及一种内存泄露链路的处理方法、装置、介质和电子设备。
技术介绍
安卓正式发布的线上包都会经过混淆这一过程。混淆不仅可以保护代码的安全性,同时还能够减小包体积。混淆的主要原理为:使用短名称混淆应用程序源代码中的类、字段和方法等。例如,原始的Java类是com.example.origin.Demo,被混淆之后的类名则变成了无意义的a.b.c.g。从上述混淆过程,可以明显的看出:经过混淆之后的代码更难看懂,因而,混淆后的代码更加安全。此外,字节码更短,因此,包体积也更小。基于上述分析可知,混淆效果好,但是也会有缺点:对于线上发生的问题,例如,崩溃、内存泄露等问题,不方便查看。因此,需要进一步复原,将线上执行的代码转换成原始代码,方便日后查看出现问题的原始代码。目前,当应用程序发生内存泄露时,无法对线上内存泄露链路进行自动处理以及自动还原,需要人工去对照映射文件,工作效率低下。很难还原出原始代码对应的内存泄露链路,因此,导致很难找到出现内存泄露本文档来自技高网...

【技术保护点】
1.一种内存泄露链路的处理方法,其特征在于,包括:/n在生成当前应用程序安装包的情况下,对当前应用程序的原始代码进行混淆处理,并生成包括各个映射关系的映射文件,各个映射关系包括每一段原始代码和对应的混淆代码的映射关系、每一个类信息与对应的原始代码信息的映射关系和每一个字段信息和对应的原始代码信息的映射关系;/n在当前应用程序运行的情况下,监控内存泄露现象,并生成至少一条内存泄露链路;/n对生成的至少一条内存泄露链路进行解析,解析出所述原始代码对应的内存泄露链路。/n

【技术特征摘要】
1.一种内存泄露链路的处理方法,其特征在于,包括:
在生成当前应用程序安装包的情况下,对当前应用程序的原始代码进行混淆处理,并生成包括各个映射关系的映射文件,各个映射关系包括每一段原始代码和对应的混淆代码的映射关系、每一个类信息与对应的原始代码信息的映射关系和每一个字段信息和对应的原始代码信息的映射关系;
在当前应用程序运行的情况下,监控内存泄露现象,并生成至少一条内存泄露链路;
对生成的至少一条内存泄露链路进行解析,解析出所述原始代码对应的内存泄露链路。


2.根据权利要求1所述的方法,其特征在于,所述对生成的至少一条内存泄露链路进行解析,解析出所述原始代码对应的内存泄露链路包括:
从生成的至少一条内存泄露链路中选取一条内存泄露链路作为当前待解析的内存泄露链路;
对当前待解析的内存泄露链路进行解析,解析出对应的原始代码信息;
依次对生成的每一条内存泄露链路进行解析,分别解析出对应的原始代码信息。


3.根据权利要求2所述的方法,其特征在于,所述对当前待解析的内存泄露链路进行解析,解析出对应的原始代码内存泄露链路包括:
将当前待解析的内存泄露链路进行划分,划分为若干行;
分别对若干行的每一行进行划分,划分为每一行对应的用于标识类信息的第一部分和每一行对应的用于标识字段信息或类属性信息的第二部分;
根据所述映射关系,获取每一个类信息对应的原始代码信息,以及获取所述映射关系中的每一个字段信息对应的原始代码信息。


4.根据权利要求2述的方法,其特征在于,在所述依次对生成的每一条内存泄露链路进行解析,分别解析出对应的原始代码信息之后,所述方法还包括:
按照每一条内存泄露链路的原始次序,依次按序对解析出的对应的原始代码信息进行拼装,拼装出所述原始代码对应的内存泄露链路。


5.根据权利要求2所述的方法,其特征在于,在所述对当前待解析的内存泄露链路进行解析之前,所述方法还包括:
对当前待解析...

【专利技术属性】
技术研发人员:刘昭
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1