[发明专利]内存泄漏分析方法和装置有效

专利信息
申请号: 201610835770.7 申请日: 2016-09-20
公开(公告)号: CN106407114B 公开(公告)日: 2017-12-15
发明(设计)人: 何纯;薛艳;薛阳;李奇峰;魏学峰 申请(专利权)人: 腾讯科技(深圳)有限公司
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 深圳市深佳知识产权代理事务所(普通合伙)44285 代理人: 王仲凯
地址: 518000 广东省深圳*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 内存 泄漏 分析 方法 装置
【说明书】:

技术领域

发明涉及计算机技术领域,尤其涉及一种内存泄漏分析方法和装置。

背景技术

内存泄漏,也称作“存储渗漏”,指的是程序在运行过程中动态申请的内存空间不再使用后没有及时释放,导致对象一直占据该内存单元的现象。

目前针对程序的内存泄漏检查工具中主要使用了内存快照对比的方法。具体的,测试人员在对程序测试过程中每隔预置时间抓取内存分配操作的快照,并通过人工查找出相邻两次内存快照之间的差异,来找出那些没释放的内存块。然而,采用该种方法来检查内存泄漏需要测试人员对获取内存快照的时间的把握以及对业务有一定程度的了解,人工成本较高,而且获取内存快照的时间点容易出错,在设计上用作缓存的内存和没有及时释放的内存会被误判为泄漏的内存。

发明内容

本发明实施例提供了一种内存泄漏分析方法和装置,能够提高内存泄漏分析的正确率和效率。

第一方面,本发明提供一种内存泄露分析方法,包括:

获取待分析数据,所述待分析数据包括内存块列表和指针根节点列表,其中,所述内存块列表包括目标程序在运行结束时未被释放的内存块的信息,所述内存块为在所述目标程序运行期间堆和栈内被分配给所述目标程序的内存块,所述指针根节点列表包括至少一个指针根节点;

执行以下步骤A或者步骤B:

步骤A:分别以所述待分析数据的指针根节点列表中的各指针根节点为起点,遍历所述内存块列表中的内存块;获取内存泄漏分析结果,所述内存泄漏分析结果包括泄漏的内存块,所述泄漏的内存块为所述待分析数据中未被遍历到的内存块;

步骤B:将所述待分析数据发送给服务器,以便所述服务器根据所述待分析数据获取内存泄漏分析结果。

第二方面,本发明提供一种内存泄露分析装置,包括:

获取模块,用于获取待分析数据,所述待分析数据包括内存块列表和指针根节点列表,其中,所述内存块列表包括目标程序在运行结束时未被释放的内存块的信息,所述内存块为在所述目标程序运行期间堆和栈内被分配给所述目标程序的内存块,所述指针根节点列表包括至少一个指针根节点;

处理模块,用于执行以下步骤A或者步骤B:

步骤A:分别以所述待分析数据的指针根节点列表中的各指针根节点为起点,遍历所述内存块列表中的内存块;获取内存泄漏分析结果,所述内存泄漏分析结果包括泄漏的内存块,所述泄漏的内存块为所述待分析数据中未被遍历到的内存块;

步骤B:将所述待分析数据发送给服务器,以便所述服务器根据所述待分析数据获取内存泄漏分析结果。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明中,通过获取在目标程序的整个运行期间被分配且未释放的内存块列表,并以指针根节点列表为起点,对该内存块列表中的内存块进行遍历,若存在没遍历到的内存块即可确定为泄漏的内存块,在该方法中无需人工查找泄漏的内存块,而是实现自动化查找泄漏的内存块,而且采用该方法不仅能抓到逻辑代码的泄漏,而且能抓到系统函数、系统DLL和第三方库里的内存泄漏,对泄漏的内存块定位的准确率较高。

附图说明

图1为本发明的内存泄漏分析方法的一个实施例的流程示意图;

图2为本发明的内存泄漏分析方法的另一个实施例的流程示意图;

图3为本发明的内存泄漏分析系统的一个实施例的结构框架图;

图4为检测工具的一个实施例的结构示意图;

图5为本发明的内存泄露分析装置的一个实施例的结构示意图;

图6为本发明的内存泄露分析装置的另一个实施例的结构示意图;

图7为本发明的内存泄露分析装置的另一个实施例的结构示意图;

图8为本发明的内存泄露分析装置的另一个实施例的结构示意图;

图9为本发明的终端的一个实施例的结构示意图;

图10为本发明的服务器的一个实施例的结构示意图。

具体实施方式

请参阅图1,图1为本发明的内存泄漏分析方法的一个实施例的流程示意图。本实施例中,内存泄漏分析方法包括:

101、获取待分析数据,所述待分析数据包括内存块列表和指针根节点列表。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201610835770.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top