[发明专利]一种内存对象引用关系确定方法及装置有效
申请号: | 201610969849.9 | 申请日: | 2016-10-27 |
公开(公告)号: | CN107992429B | 公开(公告)日: | 2021-10-15 |
发明(设计)人: | 何纯;魏学峰;徐森;薛阳;高文 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 对象 引用 关系 确定 方法 装置 | ||
本申请公开了一种内存对象引用关系确定方法及装置,本申请能够获取目标应用运行过程中,目标时间点的内存快照信息,内存快照信息包含了内存对象的值和地址,进而基于A内存对象引用B内存对象时,A内存对象的值包含B内存对象的地址的原则,将所述内存快照信息中每一内存对象的值,与内存快照信息中其余内存对象的地址进行匹配,根据匹配结果确定各内存对象间的引用关系。通过确定各内存对象间的引用关系,可以帮助开发人员发现多余内存对象未被销毁的本质原因,在代码层取消多余的引用关系,优化代码。
技术领域
本申请涉及内存检测技术领域,更具体地说,涉及一种内存对象引用关系确定方法及装置。
背景技术
随着互联网技术的发展,各种类型的应用也如雨后春笋般出现,为用户提供了多样化的网络业务,如视频业务、游戏业务、网络直播业务等等,极大的丰富了用户的生活。
应用在运行过程中会动态申请内存空间,且随着应用进程的运行,已申请的内存空间如果不再使用时应该及时进行释放,避免应用内存无限增长,导致内存泄漏。对于内存对象而言,如果其被其它内存对象所引用,则该内存对象将无法被垃圾回收机制GC所销毁。也即,被引用住的内存对象无法被销毁。对于市面上的大多数应用而言,由于编写代码不完善,可能会存在某些内存对象间引用关系不能及时取消,导致内存对象无法及时销毁。
因此,现有技术亟需一种内存对象引用关系确定方案,以检测内存对象间的引用关系,帮助开发人员发现多余内存对象未被销毁的本质原因,在代码层取消多余的引用关系,优化代码。
发明内容
有鉴于此,本申请提供了一种内存对象引用关系确定方法及装置,以实现对内存对象引用关系的检测,方便开发人员针对性的进行代码优化。
为了实现上述目的,现提出的方案如下:
一种内存对象引用关系确定方法,包括:
启动终端装载的目标应用;
获取所述目标应用在运行过程中,目标时间点的内存快照信息,其中所述内存快照信息包括,自所述目标应用启动时刻至所述目标时间点之间,所有已生成且未被销毁的内存对象的值和属性信息,所述属性信息包括内存对象的地址;
将所述内存快照信息中每一内存对象的值,与内存快照信息中其余内存对象的地址进行匹配,根据匹配结果确定各内存对象间的引用关系。
一种内存对象引用关系确定装置,包括:
应用启动单元,用于启动终端装载的目标应用;
内存快照获取单元,用于获取所述目标应用在运行过程中,目标时间点的内存快照信息,其中所述内存快照信息包括,自所述目标应用启动时刻至所述目标时间点之间,所有已生成且未被销毁的内存对象的值和属性信息信息,所述属性信息包括内存对象的地址;
引用关系确定单元,用于将所述内存快照信息中每一内存对象的值,与内存快照信息中其余内存对象的地址进行匹配,根据匹配结果确定各内存对象间的引用关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610969849.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种铁路障碍检测用可调节式激光雷达装置
- 下一篇:超长待机时间定位追踪装置