【技术实现步骤摘要】
内存越界的检测方法、装置、设备和存储介质
本申请涉及内存处理
,特别是涉及一种内存越界的检测方法、装置、设备和存储介质。
技术介绍
通过C/C++语言编写的高级语言代码常会基于需求声明并使用内存变量,在使用的过程中如果出现异常状态,就会发生内存溢出的越界情况,一旦出现此情况就会导致程序异常甚至崩溃,这对程序开发者以及应用而言,都是一个缺陷和潜在的问题。
技术实现思路
为解决上述问题,本专利技术提出了一种内存越界的检测方法、装置、设备和存储介质,能够有效检测内存越界的问题,为避免发生内存越界而导致程序崩溃奠定了基础。第一方面,本申请实施例提供一种内存越界的检测方法,该方法包括:检测到访问内存空间的目标写入指令,确定出所述目标写入指令对应的目标内存空间;其中,所述目标内存空间的前后两端均设置有处于不可访问状态的目标缓冲区;调用所述目标写入指令所对应的检测接口,利用所述检测接口检测所述目标写入指令的运行过程是否占用所述目标内存空间所对应的目标缓冲区;基于检测结果确定是否存在
【技术保护点】
1.一种内存越界的检测方法,其特征在于,所述方法包括:/n检测到访问内存空间的目标写入指令,确定出所述目标写入指令对应的目标内存空间;其中,所述目标内存空间的前后两端均设置有处于不可访问状态的目标缓冲区;/n调用所述目标写入指令所对应的检测接口,利用所述检测接口检测所述目标写入指令的运行过程是否占用所述目标内存空间所对应的目标缓冲区;/n基于检测结果确定是否存在内存越界问题。/n
【技术特征摘要】 【专利技术属性】
1.一种内存越界的检测方法,其特征在于,所述方法包括:
检测到访问内存空间的目标写入指令,确定出所述目标写入指令对应的目标内存空间;其中,所述目标内存空间的前后两端均设置有处于不可访问状态的目标缓冲区;
调用所述目标写入指令所对应的检测接口,利用所述检测接口检测所述目标写入指令的运行过程是否占用所述目标内存空间所对应的目标缓冲区;
基于检测结果确定是否存在内存越界问题。
2.根据权利要求1所述的方法,其特征在于,所述利用所述检测接口检测所述目标写入指令的运行过程是否占用所述目标内存空间所对应的目标缓冲区,包括:
利用所述检测接口检测所述目标写入指令的运行过程是否修改所述目标内存空间所对应的目标缓冲区的状态值。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
确定检测结果表征检测到存在占用所述目标内存空间所对应的目标缓冲区的内存越界问题,至少基于所述目标写入指令所对应的目标内存空间生成越界信息,并发布所述越界信息。
4.根据权利要求1所述的方法,其特征在于,在检测到访问内存空间的目标写入指令之前,所述方法还包括:
将函数访问函数栈上内存空间的写入指令作为目标写入指令,其中,所述目标写入指令对应的目标内存空间表征函数栈上的内存空间;和/或,
将访问全局作用域的内存空间的写入指令作为目标写入指令,其中,所述目标写入指令对应的目标内存空间表征全局作用域所针对的全局内存空间。
5.根据权利要求1或4所述的方法,其特征在于,在调用所述目标写入指令所对应的检测接口之前,所述方法还包括:
在所述目标写入指令中设置检测接口,其中,所述检测接口能够检测所述目标写入指令的运行过程中是否存在占用目标内存空间所对应的目标缓冲区的内存越界问题。
技术研发人员:宋金时,
申请(专利权)人:北京字节跳动网络技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。