[发明专利]一种内存泄露的处理方法、装置、设备及存储介质有效
申请号: | 201911101874.5 | 申请日: | 2019-11-12 |
公开(公告)号: | CN110851279B | 公开(公告)日: | 2023-10-13 |
发明(设计)人: | 刘俊辉;魏学峰;严明;周洪斌;徐宇挺;周江 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F11/07 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 吴磊 |
地址: | 518064 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 泄露 处理 方法 装置 设备 存储 介质 | ||
本申请实施例公开了一种内存泄露的处理方法、装置、设备及存储介质,用于弥补了人为地维护弱引用表时无法定位内存泄露的对象的短板,实现了准确定位出内存泄露的对象。本申请实施例提供的内存泄露的处理方法包括:获取至少一个内存对象的内存信息,内存信息包括创建信息;根据每个内存对象的创建信息确定每个内存对象的第一关系集合、第二关系集合及第三关系集合,第一关系集合、第二关系集合以及第三关系集合中的每个引用关系分别指示内存对象在第一时间点被引用、在第二时间点被引用、在第三时间点被引用,第一时间点早于第二时间点,第二时间点早于第三时间点;根据第一关系集合、第二关系集合及第三关系集合中的每个引用关系确定目标对象。
技术领域
本申请实施例涉及计算机技术领域,具体涉及一种内存泄露的处理方法、装置、设备及存储介质。
背景技术
在计算机科学中,内存泄露是指由于疏忽或错误造成程序没能释放已经不再使用的内存的情况。内存泄露会因为减少可用内存的数量从而降低计算机的性能,过多的可用内存被分配掉会导致全部或部分设备停止正常工作,或者应用程序崩溃。而一般情况下,内存泄露只能有程序源代码的程序员才能够分析出来是哪个内存被泄露了。
为了发现内存泄露,目前采用通过维护一张全局的弱引用表,即将创建的资源对象全部都放在同一张弱引用表中,并在程序运行完成之后强制进行内存回收(garbagecollection,GC),然后再去查看该弱引用表,如果此时该弱引用表中还保存着某个内存对象,那么就说明该内存对象被引用了,从而使得该内存对象发生了泄露。
然而,目前的这种通过人为地将所有创建的资源对象都维护到同一张弱引用表中,只是实现了内存泄露的发现,但并不能够清楚地定位出发生内存泄露的对象,从而导致该对象无法被成功释放。
发明内容
本申请实施例提供了一种内存泄露的处理方法、装置、设备及存储介质,用于实现了准确定位出内存泄露的对象,成功地释放该对象,弥补了由于人为地维护弱引用表时无法定位内存泄露、遗漏发生内存泄露的对象的短板。
第一方面,本申请实施例提供了一种内存泄露的处理方法,包括:
获取至少一个所述内存对象的内存信息,所述内存信息包括创建信息;
根据每个所述内存对象的创建信息确定每个内存对象的第一关系集合、第二关系集合以及第三关系集合,其中,所述第一关系集合中的每个引用关系指示所述内存对象在第一时间点被引用,所述第二关系集合中的每个引用关系指示所述内存对象在第二时间点被引用,所述第三关系集合中的每个引用关系指示所述内存对象在第三时间点被引用,所述第一时间点早于所述第二时间点,所述第二时间点早于所述第三时间点;
根据所述第一关系集合中的每个引用关系、所述第二关系集合中的每个引用关系以及所述第三关系集合中的每个引用关系确定目标对象,所述目标对象为内存泄露的对象。
第二方面,本申请实施例提供了一种内存泄露的处理装置,该内存泄露的处理装置包括:
获取单元,用于获取至少一个所述内存对象的内存信息,所述内存信息包括创建信息;
第一确定单元,用于根据所述获取单元获取到的每个所述内存对象的创建信息确定每个内存对象的第一关系集合、第二关系集合以及第三关系集合,其中,所述第一关系集合中的每个引用关系指示所述内存对象在第一时间点被引用,所述第二关系集合中的每个引用关系指示所述内存对象在第二时间点被引用,所述第三关系集合中的每个引用关系指示所述内存对象在第三时间点被引用,所述第一时间点早于所述第二时间点,所述第二时间点早于所述第三时间点;
第二确定单元,用于根据所述第一确定单元确定出的所述第一关系集合中的每个引用关系、所述第二关系集合中的每个引用关系以及所述第三关系集合中的每个引用关系确定目标对象,所述目标对象为内存泄露的对象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911101874.5/2.html,转载请声明来源钻瓜专利网。