[发明专利]内存泄漏分析方法和装置有效
申请号: | 201610835770.7 | 申请日: | 2016-09-20 |
公开(公告)号: | CN106407114B | 公开(公告)日: | 2017-12-15 |
发明(设计)人: | 何纯;薛艳;薛阳;李奇峰;魏学峰 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙)44285 | 代理人: | 王仲凯 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明实施例公开了一种内存泄露分析方法和装置。本发明实施例方法包括获取待分析数据,所述待分析数据包括内存块列表和指针根节点列表,其中,所述内存块列表包括目标程序在运行结束时未被释放的内存块的信息,所述内存块为在所述目标程序运行期间堆和栈内被分配给所述目标程序的内存块,所述指针根节点列表包括至少一个指针根节点;分别以所述待分析数据的指针根节点列表中的各指针根节点为起点,遍历所述内存块列表中的内存块;获取内存泄漏分析结果,所述内存泄漏分析结果包括泄漏的内存块,所述泄漏的内存块为所述待分析数据中未被遍历到的内存块。 | ||
搜索关键词: | 内存 泄漏 分析 方法 装置 | ||
【主权项】:
一种内存泄露分析方法,其特征在于,包括:获取待分析数据,所述待分析数据包括内存块列表和指针根节点列表,其中,所述内存块列表包括目标程序在运行结束时未被释放的内存块的信息,所述内存块为在所述目标程序运行期间堆和栈内被分配给所述目标程序的内存块,所述指针根节点列表包括至少一个指针根节点;执行以下步骤A或者步骤B:步骤A:分别以所述待分析数据的指针根节点列表中的各指针根节点为起点,遍历所述内存块列表中的内存块;获取内存泄漏分析结果,所述内存泄漏分析结果包括泄漏的内存块,所述泄漏的内存块为所述待分析数据中未被遍历到的内存块;步骤B:将所述待分析数据发送给服务器,以便所述服务器根据所述待分析数据获取内存泄漏分析结果;所述获取待分析数据中的内存块列表,包括:确定特定函数集合,所述特定函数集合为所述目标程序的系统函数在操作内存时所调用的函数;在运行所述目标程序期间,钩取hook所述目标程序中的特定函数集合;从所述特定函数集合中的每一个函数的参数中获取所述内存块的信息;所述获取待分析数据中的指针根节点列表,包括:在所述目标程序结束运行时,从所述目标程序的寄存器中获取所述指针根节点列表。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610835770.7/,转载请声明来源钻瓜专利网。