[发明专利]内存泄漏检测装置及方法无效
| 申请号: | 200810084501.7 | 申请日: | 2008-03-21 |
| 公开(公告)号: | CN101539870A | 公开(公告)日: | 2009-09-23 |
| 发明(设计)人: | 刘攀 | 申请(专利权)人: | 中兴通讯股份有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F11/36 |
| 代理公司: | 北京康信知识产权代理有限责任公司 | 代理人: | 尚志峰;吴孟秋 |
| 地址: | 518057广东省深圳市南*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 内存 泄漏 检测 装置 方法 | ||
1.一种内存泄漏检测装置,其特征在于,包括:
初始化模块,用于对日志文件进行初始化;
内存管理模块,用于在所述初始化模块对所述日志文件进行了初始化之后进行内存分配,以及进行内存释放;
记录模块,用于将关于所述内存分配和所述内存释放的信息记录到所述日志文件中;以及
统计模块,根据所述内存分配和所述内存释放的信息统计未释放内存的次数和大小。
2.根据权利要求1所述的装置,其特征在于,所述初始化模块还用于判断所述日志文件是否存在,如果不存在,则创建所述日志文件。
3.根据权利要求2所述的装置,其特征在于,所述内存管理模块还用于判断所述内存分配是否成功,如果成功,使所述记录模块更新并记录内存分配的次数以及记录内存分配信息。
4.根据权利要求3所述的装置,其特征在于,所述内存分配信息包括:内存分配的地址、大小、调用模块、文件、和行数。
5.根据权利要求4所述的装置,其特征在于,所述内存管理模块还用于判断参数指针是否为空,在所述参数指针不为空的情况下查询所述参数指针是否被分配过,如果所述参数指针未被分配过,则记录所述参数指针并将其输出,如果所述参数指针被分配过,则释放内存,并更新内存释放次数及大小,并从所述日志文件中删除所述内存分配信息。
6.根据权利要求5所述的装置,其特征在于,所述统计模块还用于计算所述内存分配次数、所述内存释放次数、未释放次数、所述内存分配的总大小、所述释放的内存的总大小、未释放的内存的大小并将其保存到所述日志文件以及输出至终端,以及将未释放的内存的地址、所述调用模块、所述文件、所述行数保存到所述日志文件并输出至所述终端。
7.一种内存泄漏检测方法,其特征在于,包括以下步骤:
步骤一,在对内存成功进行分配后,更新内存分配的次数并将其与内存分配信息记录到日志文件中;
步骤二,在参数指针不为空且所述参数指针被分配过时,释放内存,更新内存释放的次数及大小并将其记录到所述日志文件中,以及从所述日志文件中删除所述内存分配信息;以及
步骤三,根据记录在所述日志文件中的内存分配的次数和大小、以及所述内存释放的次数和大小确定未释放内存的次数和大小。
8.根据权利要求7所述的方法,其特征在于,还包括以下步骤:
设置所述日志文件的存储路径;以及
判断所述存储路径下是否存在日志文件,如果有,则对其进行初始化,如果没有,则创建所述日志文件,并对创建的所述日志文件进行初始化。
9.根据权利要求8所述的方法,其特征在于,所述内存分配信息包括:内存分配地址、内存分配大小、内存分配模块、文件、以及行数。
10.根据权利要求9所述的方法,其特征在于,所述步骤三还包括以下步骤:
计算内存分配次数、内存释放次数、内存未释放次数、内存分配总大小、内存释放总大小、未释放内存大小,并将记录到所述日志文件以及将它们输出到终端;以及
将未释放内存的地址、所调用的模块、文件、以及行数记录到所述日志文件,并将它们输出到所述终端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810084501.7/1.html,转载请声明来源钻瓜专利网。





