[发明专利]一种内存检测方法及装置有效
申请号: | 200910108137.8 | 申请日: | 2009-06-26 |
公开(公告)号: | CN101599046A | 公开(公告)日: | 2009-12-09 |
发明(设计)人: | 徐佳宏;王美聪;程伯钦;聂伟 | 申请(专利权)人: | 深圳市茁壮网络股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳中一专利商标事务所 | 代理人: | 张全文 |
地址: | 518002广东省深圳市罗湖区沿河*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 检测 方法 装置 | ||
1.一种内存检测方法,其特征在于,所述方法包括下述步骤:
A1、在对内存进行初始化时,设置该内存的状态值为已初始化;
A2、在释放一块内存时,设置该内存的状态值为已释放;
A3、在申请或者重新分配一块内存时,设置该内存的状态值为已申请但未 被初始化,并为申请的内存多分配大小为n字节的内存,用于存储申请到的内 存的初始值;
B、对内存使用情况进行检测,根据内存的状态值判断内存是否发生内存 错误。
2.如权利要求1所述的方法,其特征在于,所述内存错误包括内存溢出、 异常、使用未初始化变量或者野指针现象。
3.如权利要求1所述的方法,其特征在于,所述步骤A3具体包括:
在申请或者重新分配一块内存时,为申请的内存多分配大小为n字节的内 存,所述n为大于或者等于2的自然数;
在申请到的内存的前x字节填充第一初始值,在申请到的内存的最后y字 节填充第二初始值,以标识申请到的内存的上、下限;
设置已申请到给计算机程序使用的内存的状态值为已申请但未被初始化。
4.如权利要求1所述的方法,其特征在于,所述步骤B具体包括:
B1、检测已申请的内存的初始值是否与申请内存时设置的初始值相同,以 判断已申请的内存是否发生了内存溢出或者内存异常;
B2、检测未被分配的内存的状态值是否为已初始化或者已释放,以判断未 被分配的内存是否发生了内存异常。
5.如权利要求4所述的方法,其特征在于,所述步骤B还包括:
检测计算机程序使用的数据是否为状态值为已申请但未被初始化的内存中 的数据,以判断是否发生了变量未被初始化就使用的现象;和/或
检测计算机程序使用的指针数据是否为状态值为已释放的内存中的数据, 以判断是否发生了野指针引用现象。
6.一种内存检测装置,其特征在于,所述装置包括:
初始化状态值设置单元,用于在对内存进行初始化时,设置该内存的状态 值为已初始化;
释放状态值设置单元,用于在释放一块内存时,设置该内存的状态值为已 释放;
已申请状态值设置单元,用于在申请或者重新分配一块内存时,设置该内 存的状态值为已申请但未被初始化,并为申请的内存多分配大小为n字节的内 存,用于存储申请到的内存的初始值;
内存检测单元,用于对内存使用情况进行检测,根据所述状态值设置单元 设置的内存的状态值判断内存是否发生内存错误。
7.如权利要求6所述的装置,其特征在于,所述已申请状态值设置单元具 体包括:
内存分配模块,用于在申请或者重新分配一块内存时,为申请的内存多分 配大小为n字节的内存,所述n为大于或者等于2的自然数;
初始值设置模块,用于在申请到的内存的前x字节填充第一初始值,在申 请到的内存的最后y字节填充第二初始值,以标识申请到的内存的上、下限;
已申请状态值设置模块,用于设置已申请到给计算机程序使用的内存的状 态值为已申请但未被初始化。
8.如权利要求6所述的装置,其特征在于,所述内存检测单元包括:
已申请内存检测单元,用于检测已申请的内存的初始值是否与申请内存时 设置的初始值相同,以判断已申请的内存是否发生了内存溢出或者内存异常;
未分配内存检测单元,用于检测未被分配的内存的状态值是否为已初始化 或者已释放,以判断未被分配的内存是否发生了内存异常。
9.如权利要求8所述的装置,其特征在于,所述内存检测单元还包括:
未初始化检测单元,用于检测计算机程序使用的数据是否为状态值为已申 请但未被初始化的内存中的数据,以判断是否发生了变量未被初始化就使用的 现象;和/或
野指针检测单元,用于检测计算机程序使用的指针数据是否为状态值为已 释放的内存中的数据,以判断是否发生了野指针引用现象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市茁壮网络股份有限公司,未经深圳市茁壮网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910108137.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:集装箱码头运营系统中倒箱作业仿真模型
- 下一篇:基于眼电信号的人机交互系统