[发明专利]堆栈溢出的获取方法和装置在审

专利信息
申请号: 202011411535.X 申请日: 2020-12-03
公开(公告)号: CN112329006A 公开(公告)日: 2021-02-05
发明(设计)人: 张雪凯;薛高飞;生竹声;李德胜;郑隽一;张育铭 申请(专利权)人: 国创新能源汽车智慧能源装备创新中心(江苏)有限公司
主分类号: G06F21/52 分类号: G06F21/52;G06F11/36
代理公司: 常州佰业腾飞专利代理事务所(普通合伙) 32231 代理人: 姜晓钰
地址: 213000 江苏省常州市武*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 堆栈 溢出 获取 方法 装置
【说明书】:

发明提供一种堆栈溢出的获取方法和装置,所述方法包括以下步骤:在系统初始化前,将物理内存划分为第一内存空间和第二内存空间,其中,第二内存空间与无物理设备的地址空间相邻;在系统运行过程中,将待执行任务描述符与其对应的堆栈空间从第一内存空间拷贝到第二内存空间;在待执行任务执行期间,如果检测到CPU产生异常中断,则获取当前堆栈指针的位置;当当前堆栈指针的位置超出待执行任务的堆栈空间范围时,确定堆栈溢出。本发明的获取方法,通过使用无物理设备的地址空间,可以增加堆栈溢出捕获的概率和准确率,并且,采用异常中断的方式,能够快速的检测到堆栈溢出。

技术领域

本发明涉及计算机技术领域,具体涉及一种堆栈溢出的获取方法、一种堆栈溢出的获取装置、一种计算机设备和一种非临时性计算机可读存储介质。

背景技术

在单片机系统上,往往没有完善的内存管理体系,堆栈溢出难以避免。因此如何监测并定位堆栈溢出是一个重要的问题。

在相关技术中,一般采用的是标识符定位溢出,具体是在堆栈区后紧跟一个缓冲区,在缓冲区填写特定的数值,然后使用循环检测的方法,查看缓冲区中的数值是否被修改了,如果被修改,则说明内存溢出了;如果没有被修改,则说明还没有溢出。

但是在实际的运行中,上述方法并不能完全检测到堆栈溢出。其一,当堆栈溢出的非常多,导致整个系统崩溃,根本无法监测到堆栈溢出,这个现象在freertos中经常出现;其二,堆栈溢出后修改的数值和之前一样,同样无法监测到堆栈溢出。

发明内容

本发明为解决上述技术问题,提供了一种堆栈溢出的获取方法,利用CPU(CentralProcessing Unit,中央处理器)地址空间中的无物理设备的地址空间,将待执行任务放在与无物理设备的地址空间相邻的位置,在任务执行期间,如果堆栈指针溢出,CPU就会出现异常中断,从而可以增加堆栈溢出捕获的概率和准确率,并且,采用异常中断的方式,能够快速的检测到堆栈溢出。

本发明采用的技术方案如下:

一种堆栈溢出的获取方法,包括以下步骤:在系统初始化前,将物理内存划分为第一内存空间和第二内存空间,其中,所述第二内存空间与无物理设备的地址空间相邻;在系统运行过程中,将待执行任务描述符与其对应的堆栈空间从所述第一内存空间拷贝到所述第二内存空间;在所述待执行任务执行期间,如果检测到CPU产生异常中断,则获取当前堆栈指针的位置;当所述当前堆栈指针的位置超出待执行任务的堆栈空间范围时,确定堆栈溢出。

根据本发明的一个实施例,将待执行任务描述符与其对应的堆栈空间从所述第一内存空间拷贝到所述第二内存空间,包括:当所述第二内存空间的最低地址与所述无物理设备地址空间相邻时,将所述待执行任务的堆栈的最低地址与所述物理空间的最低地址保持一致;当所述第二内存空间的最高地址与所述无物理设备地址空间相邻时,将所述待执行任务的堆栈的最高地址与所述物理空间的最高地址保持一致。

根据本发明的一个实施例,上述的堆栈溢出的获取方法,还包括:当所述当前堆栈指针的位置未超出待执行任务的堆栈空间范围时,进入死循环。

根据本发明的一个实施例,在确定堆栈溢出之后,还包括:获取当前任务的标识,打印后进入死循环。

根据本发明的一个实施例,上述的堆栈溢出的获取方法,还包括:在所述待执行任务执行完成后,将该任务从所述第二内存空间拷贝到所述第一内存空间中的原始地址。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国创新能源汽车智慧能源装备创新中心(江苏)有限公司,未经国创新能源汽车智慧能源装备创新中心(江苏)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202011411535.X/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top