[发明专利]一种内存泄露的处理方法、装置、设备及存储介质有效
申请号: | 201911101874.5 | 申请日: | 2019-11-12 |
公开(公告)号: | CN110851279B | 公开(公告)日: | 2023-10-13 |
发明(设计)人: | 刘俊辉;魏学峰;严明;周洪斌;徐宇挺;周江 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F11/07 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 吴磊 |
地址: | 518064 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 泄露 处理 方法 装置 设备 存储 介质 | ||
1.一种内存泄露的处理方法,其特征在于,包括:
获取至少一个内存对象的内存信息,所述内存信息包括创建信息;
根据每个所述内存对象的创建信息确定每个内存对象的第一关系集合、第二关系集合以及第三关系集合,其中,所述第一关系集合中的每个引用关系指示所述内存对象在第一时间点被引用,所述第二关系集合中的每个引用关系指示所述内存对象在第二时间点被引用,所述第三关系集合中的每个引用关系指示所述内存对象在第三时间点被引用,所述第一时间点早于所述第二时间点,所述第二时间点早于所述第三时间点;
根据所述第一关系集合中的每个引用关系、所述第二关系集合中的每个引用关系以及所述第三关系集合中的每个引用关系确定目标对象,所述目标对象为内存泄露的对象。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一关系集合中的每个引用关系、所述第二关系集合中的每个引用关系以及所述第三关系集合中的每个引用关系确定目标对象,包括:
根据预设规则从所述第一关系集合、所述第一关系集合、所述第三关系集合中确定目标关系集合;
确定所述目标关系集合中的每个引用关系所引用的内存对象为目标对象。
3.根据权利要求1或2所述的方法,其特征在于,所述根据每个所述内存对象的创建信息确定每个内存对象的第一关系集合、第二关系集合以及第三关系集合,包括:
在所述第一时间点、所述第二时间点以及所述第三时间点遍历所述每个内存对象的创建信息,以分别得到所述每个内存对象的第一对象指针值、第二对象指针值以及第三对象指针值;
将所述第一对象指针值所指示的至少一个引用关系生成所述第一关系集合,将所述第二对象指针值所指示的至少一个引用关系生成所述第二关系集合,将所述第三对象指针值所指示的至少一个引用关系生成所述第三关系集合。
4.根据权利要求3所述的方法,其特征在于,在所述第一时间点、所述第二时间点以及所述第三时间点遍历所述每个内存对象的创建信息,以分别得到所述每个内存对象的第一对象指针值、第二对象指针值以及第三对象指针值,包括:
根据对象类型获取每个类型中的注册表,所述注册表包括至少一个元表;
当所述元表不是弱引用表时,则通过第一对象函数在所述第一时间点遍历所述内存对象的创建信息,以得到所述第一对象指针值,以及通过所述第一对象函数在所述第二时间点遍历所述内存对象的创建信息,以得到所述第二对象指针值,以及通过所述第一对象函数在所述第三时间点遍历所述内存对象的创建信息,以得到所述第三对象指针值。
5.根据权利要求4所述的方法,其特征在于,所述对象类型包括表类型、用户数据类型、运行数据类型或线程类型。
6.一种内存泄露的处理装置,其特征在于,
获取单元,用于获取至少一个所述内存对象的内存信息,所述内存信息包括创建信息;
第一确定单元,用于根据所述获取单元获取到的每个所述内存对象的创建信息确定每个内存对象的第一关系集合、第二关系集合以及第三关系集合,其中,所述第一关系集合中的每个引用关系指示所述内存对象在第一时间点被引用,所述第二关系集合中的每个引用关系指示所述内存对象在第二时间点被引用,所述第三关系集合中的每个引用关系指示所述内存对象在第三时间点被引用,所述第一时间点早于所述第二时间点,所述第二时间点早于所述第三时间点;
第二确定单元,用于根据所述第一确定单元确定出的所述第一关系集合中的每个引用关系、所述第二关系集合中的每个引用关系以及所述第三关系集合中的每个引用关系确定目标对象,所述目标对象为内存泄露的对象。
7.根据权利要求6所述的处理装置,其特征在于,所述第二确定单元,包括:
确定模块,用于根据预设规则从所述第一关系集合、所述第一关系集合、所述第三关系集合中确定目标关系集合;
所述确定模块,用于确定所述目标关系集合中的每个引用关系所引用的内存对象为目标对象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911101874.5/1.html,转载请声明来源钻瓜专利网。