[发明专利]一种内存检测方法及装置有效
申请号: | 200910108137.8 | 申请日: | 2009-06-26 |
公开(公告)号: | CN101599046A | 公开(公告)日: | 2009-12-09 |
发明(设计)人: | 徐佳宏;王美聪;程伯钦;聂伟 | 申请(专利权)人: | 深圳市茁壮网络股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳中一专利商标事务所 | 代理人: | 张全文 |
地址: | 518002广东省深圳市罗湖区沿河*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 检测 方法 装置 | ||
技术领域
本发明属于存储器领域,尤其涉及一种内存检测方法及装置。
背景技术
内存管理在计算机系统设计中是极其重要的,高效的内存分配、释放和整 理在应用中已越来越重要,内存在使用过程中经常出现内存溢出、内存异常或 者野指针等现象,导致计算机程序异常或者错误,严重时将导致计算机死机, 因此内存的检测对计算机系统和计算机程序是非常重要的。其中内存溢出是指 计算机程序按照指定的大小分配内存区域存储数据后,写入内存的数据超出预 先分配的内存区域,从而导致改写了其他内存区域的数据。内存异常是指计算 机程序按照指定的大小分配内存区域后,该内存区域内的数据被非法改写。野 指针是指向“垃圾”内存的指针,一般是指未被初始化的指针变量,或者指针 变量已被释放但在其他地方依旧使用的指针。
在大型的计算机程序中,一般需要从计算机操作系统中为该计算机程序分 配一块内存,并有计算机程序自行对这块内存进行管理以获得更快的内存分配 和释放速度。在现有的需要自行进行内存管理的计算机程序中,一般不对内存 进行检测,或者仅对内存的申请和释放进行管理,再在计算机程序退出时简单 的检测内存泄漏,这种内存检测方法难以在计算机程序运行过程中检测出内存 异常、内存溢出或者野指针等现象,在计算机程序出错时,增加了定位内存异 常、内存溢出或者野指针等现象的难度,降低了计算机程序效率。
发明内容
本发明实施例的目的在于提供一种内存检测方法,旨在解决现有内存检测 方法难以及时检测出内存溢出、异常等错误的问题。
本发明实施例是这样实现的,一种内存检测方法,所述方法包括下述步骤:
A1、在对内存进行初始化时,设置该内存的状态值为已初始化;
A2、在释放一块内存时,设置该内存的状态值为已释放;
A3、在申请或者重新分配一块内存时,设置该内存的状态值为已申请但未 被初始化,并为申请的内存多分配大小为n字节的内存,用于存储申请到的内 存的初始值;
B、对内存使用情况进行检测,根据内存的状态值判断内存是否发生内存 错误。
本发明实施例的另一目的在于提供一种内存检测装置,所述装置包括:
初始化状态值设置单元,用于在对内存进行初始化时,设置该内存的状态 值为已初始化;
释放状态值设置单元,用于在释放一块内存时,设置该内存的状态值为已 释放;
已申请状态值设置单元,用于在申请或者重新分配一块内存时,设置该内 存的状态值为已申请但未被初始化,并为申请的内存多分配大小为n字节的内 存,用于存储申请到的内存的初始值;
内存检测单元,用于对内存使用情况进行检测,根据所述状态值设置单元 设置的内存的状态值判断内存是否发生内存错误。
在本发明实施例中,根据内存的不同状态为内存设置对应的状态值,对内 存使用情况进行检测,根据内存的状态值判断内存是否发生内存溢出、异常或 者野指针现象,从而可以及时、快速、有效的在计算机程序运行过程中检测出 内存中发生的内存溢出、异常或者野指针等错误现象,减少了计算机程序的隐 患,给程序调试带来方便。
附图说明
图1是本发明实施例提供的内存检测方法的实现流程图;
图2是本发明实施例提供的内存检测装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅 仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,根据内存的使用状态为内存设置对应的状态值,在使 用内存或者内存中的数据时,通过检测该内存的状态值判断该内存是否发生内 存错误,如内存溢出、异常或者野指针现象。
图1示出了本发明实施例提供的内存检测方法的实现流程,详述如下:
在步骤S101中,为不同状态的内存设置对应的状态值。其具体步骤如下:
A、在对内存进行初始化时,设置该内存的状态值为已初始化。在本发明 实施例中,可以通过将该内存中的数据填充为用于标识该内存的状态值为已初 始化的数据,如可以将该内存中的数据填充为0xab,以标识该内存的状态值为 已初始化。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市茁壮网络股份有限公司,未经深圳市茁壮网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910108137.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:集装箱码头运营系统中倒箱作业仿真模型
- 下一篇:基于眼电信号的人机交互系统