内存泄漏的归因方法、装置、电子设备和存储介质与流程

文档序号:26003997发布日期:2021-07-23 21:21阅读:来源:国知局

技术特征:

1.一种内存泄漏的归因方法,其特征在于,所述方法包括:

获取应用程序中目标进程的第一文件和第二文件,所述第一文件包括所述目标进程在崩溃时的相关信息,所述第二文件包括所述应用程序重新启动时所述目标进程的相关信息;

在对所述第一文件和所述第二文件中的每个内存段进行第一遍历的过程中,分别对所述第一文件和所述第二文件中与栈空间匹配的内存段进行标记;

在对所述第一文件和所述第二文件中的每个内存段进行第二遍历的过程中,根据所述第一文件和所述第二文件中未被标记的内存段的名称对所述未被标记的内存段进行标记;

根据所述第一文件中每个内存段分别对应的标记结果、以及所述第二文件中每个内存段分别对应的标记结果,确定内存泄漏的归因类型。

2.根据权利要求1所述的方法,其特征在于,根据所述第一文件中每个内存段分别对应的标记结果、以及所述第二文件中每个内存段分别对应的标记结果,确定内存泄漏的归因类型,包括:

分别确定所述第一文件和所述第二文件中标记结果相同的内存段所对应的虚拟内存的总大小;

根据同一标记结果在所述第一文件中对应的虚拟内存的总大小和所述同一标记结果在所述第二文件中对应的虚拟内存的总大小,确定内存泄漏的归因类型。

3.根据权利要求2所述的方法,其特征在于,根据同一标记结果在所述第一文件中对应的虚拟内存的总大小和所述同一标记结果在所述第二文件中对应的虚拟内存的总大小,确定内存泄漏的归因类型,包括:

根据同一标记结果在所述第一文件中对应的虚拟内存的总大小和所述同一标记结果在所述第二文件中对应的虚拟内存的总大小,确定目标标记结果,所述内存泄漏的归因类型为所述目标标记结果。

4.根据权利要求3所述的方法,其特征在于,所述目标标记结果在所述第一文件中对应的虚拟内存的总大小和所述目标标记结果在所述第二文件中对应的虚拟内存的总大小之间的差值大于阈值。

5.根据权利要求3所述的方法,其特征在于,所述目标标记结果在所述第一文件中对应的虚拟内存的总大小和所述目标标记结果在所述第二文件中对应的虚拟内存的总大小之间的差值最大。

6.根据权利要求1所述的方法,其特征在于,在对所述第一文件和所述第二文件中的每个内存段进行第一遍历的过程中,分别对所述第一文件和所述第二文件中与栈空间匹配的内存段进行标记,包括:

获取目标文件,所述目标文件包括所述目标进程中一个或多个线程的相关信息,每个线程的相关信息包括所述线程对应的栈空间的地址信息;

在对所述第一文件和所述第二文件中的每个内存段进行第一遍历的过程中,确定所述每个内存段的地址信息是否与所述目标文件中任一栈空间的地址信息匹配;

当所述第一文件或所述第二文件中任一内存段的地址信息与所述目标文件中任一栈空间的地址信息匹配时,对所述任一内存段进行标记。

7.根据权利要求6所述的方法,其特征在于,获取目标文件,包括:

获取多个第四文件,所述多个第四文件中的每个第四文件包括所述目标进程中一个或多个线程的相关信息;

从所述多个第四文件中获取目标文件,所述目标文件是所述多个第四文件中未被用于所述匹配的优先级最高的第四文件。

8.根据权利要求1所述的方法,其特征在于,根据所述第一文件和所述第二文件中未被标记的内存段的名称对所述未被标记的内存段进行标记,包括:

若所述第一文件或所述第二文件中任一未标记内存段的名称包括第一预设名称,且与所述任一未标记内存段的前一个内存段成映射关系的第三文件的名称包括第二预设名称,则将所述任一未标记内存段的标记结果设置为与所述前一个内存段相同的标记结果。

9.根据权利要求1所述的方法,其特征在于,获取应用程序中目标进程的第一文件和第二文件,包括:

服务器从终端接收所述应用程序中目标进程的第一文件和第二文件,所述应用程序安装在所述终端中,所述第一文件是在所述目标进程崩溃时由所述终端记录的文件,所述第二文件是所述应用程序重新启动时由所述终端记录的文件。

10.根据权利要求7所述的方法,其特征在于,获取多个第四文件,包括:

服务器从终端接收所述多个第四文件,所述多个第四文件是在所述目标进程崩溃时由所述终端记录的文件。

11.根据权利要求1所述的方法,其特征在于,获取应用程序中目标进程的第一文件和第二文件,包括:

终端在所述目标进程崩溃时记录所述目标进程的第一文件;

所述终端在所述应用程序重新启动时获取所述目标进程的第二文件。

12.一种内存泄漏的归因装置,其特征在于,包括:

获取模块,用于获取应用程序中目标进程的第一文件和第二文件,所述第一文件包括所述目标进程在崩溃时的相关信息,所述第二文件包括所述应用程序重新启动时所述目标进程的相关信息;

第一遍历模块,用于对所述第一文件和所述第二文件中的每个内存段进行第一遍历;

第二遍历模块,用于对所述第一文件和所述第二文件中的每个内存段进行第二遍历;

标记模块,用于所述第一遍历模块在对所述第一文件和所述第二文件中的每个内存段进行第一遍历的过程中,分别对所述第一文件和所述第二文件中与栈空间匹配的内存段进行标记;在所述第二遍历模块对所述第一文件和所述第二文件中的每个内存段进行第二遍历的过程中,根据所述第一文件和所述第二文件中未被标记的内存段的名称对所述未被标记的内存段进行标记;

确定模块,用于根据所述第一文件中每个内存段分别对应的标记结果、以及所述第二文件中每个内存段分别对应的标记结果,确定内存泄漏的归因类型。

13.一种电子设备,其特征在于,所述电子设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-11中任一项所述的方法。

14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-11中任一项所述的方法。


技术总结
本公开实施例公开了一种内存泄漏的归因方法、装置、电子设备和存储介质,方法包括:获取应用程序中目标进程的第一文件和第二文件,第一文件包括目标进程在崩溃时的相关信息,第二文件包括应用程序重新启动时目标进程的相关信息;在对第一文件和第二文件中的每个内存段进行第一遍历的过程中,分别对第一文件和第二文件中与栈空间匹配的内存段进行标记;在对第一文件和第二文件中的每个内存段进行第二遍历的过程中,根据第一文件和第二文件中未被标记的内存段的名称对未被标记的内存段进行标记;根据两次标记结果,确定内存泄漏的归因类型。其所得到的内存泄漏的归因类型,具有指导意义,可以充分缩减业务开发人员进行内存泄露归因的工作量。

技术研发人员:张雨
受保护的技术使用者:北京字节跳动网络技术有限公司
技术研发日:2021.04.14
技术公布日:2021.07.23
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1