[发明专利]内存越界检测方法、装置、电子设备及计算机存储介质有效
申请号: | 201910950733.4 | 申请日: | 2019-10-08 |
公开(公告)号: | CN110674050B | 公开(公告)日: | 2022-04-19 |
发明(设计)人: | 仇斌;黄民发 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京市立方律师事务所 11330 | 代理人: | 张筱宁 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 越界 检测 方法 装置 电子设备 计算机 存储 介质 | ||
本发明提供了一种内存越界检测方法、装置、电子设备及计算机存储介质,该方法用于待检测内存空间的内存越界检测,每个待检测内存空间中存储有只读区域标识;该方法包括:在至少一个待检测内存空间满足检测条件时,基于满足检测条件的待检测内存空间的空间标识,调用内存越界检测函数,由内存越界检测函数根据空间标识,检测空间标识所对应的目标内存空间的只读区域标识的标识状态;根据只读区域标识的标识状态,确定目标内存空间是否发生内存越界。通过该方案,基于各个待检测内存空间存储的只读区域标识,调用的内存越界检测函数基于空间标识对目标内存空间的只读区域标识进行检测,即可实现内存越界检测,该方法实现简单,适用性强。
技术领域
本发明涉及计算机处理技术领域,具体而言,本发明涉及一种视内存越界检测方法、装置、电子设备及计算机存储介质。
背景技术
现有技术中,进行内存越界检测的方法主要为:第一种方式,依据第三方开发的检测工具进行检测。第二种方式,对需要检测的内存空间进行分页处理,通过调整该内存空间的分配位置,使其结尾段恰好与系统分页边界对齐,然后在边界处再多分配一个不可访问页作为保护区域。这样,一旦出现内存越界时,进程就会不正常工作,帮助用户检测内存越界。
上述的两种方式中,第一种方式需要依赖于第三方的内存越界检测工具,使得该方案具有局限性。第二种方式在每次进行内存越界检测时,需要对每个需要检测的内存空间进行分页处理,即对内存空间的改动比较大,使得该方法较为复杂,适用性较差。
发明内容
本发明的目的旨在至少能解决上述的技术缺陷之一,简化内存越界检测的复杂性,提高方法的适用性。本发明采用的技术方案如下:
第一方面,本发明提供了一种内存越界检测方法,该方法用于待检测内存空间的内存越界检测,其中,每个待检测内存空间中存储有只读区域标识;该方法包括:
在至少一个待检测内存空间满足检测条件时,基于满足检测条件的待检测内存空间的空间标识,调用内存越界检测函数;
由内存越界检测函数根据空间标识,检测空间标识所对应的目标内存空间的只读区域标识的标识状态;
根据只读区域标识的标识状态,确定目标内存空间是否发生内存越界。
本发明第一方面的实施例中,空间标识为内存地址。
本发明第一方面的实施例中,该方法还包括:
构建所有待检测内存空间的基类,基类的成员变量包括对应于各待检测内存空间的成员变量,只读标识存储在待检测内存空间的指定成员变量对应的内存区域中;
构建内存越界检测函数,其中,内存越界检测函数继承基类。
本发明第一方面的实施例中,该方法还包括:
在存在新的内存空间需要进行内存越界检测时,将新的内存空间的成员变量添加在基类中。
本发明第一方面的实施例中,指定成员变量为第一个成员变量;
检测空间标识所对应的目标内存空间的只读区域标识的标识状态,包括:
检测空间标识所对应的目标内存空间中第一个成员变量对应的内存区域中的只读区域标识的标识状态。
本发明第一方面的实施例中,该方法还包括:
将待检测内存空间的空间标识存储至指定存储位置。
本发明第一方面的实施例中,在待检测内存空间发生内存越界时,该方法还包括:
基于发生内存越界的内存空间的空间标识,生成内存越界提醒信息,将内存越界提醒信息提供给用户。
本发明第一方面的实施例中,该方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910950733.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种面向PLC逻辑编程的智能形式化验证方法
- 下一篇:一种数据存储方法及装置