[发明专利]堆栈监测方法、装置、电子设备及存储介质在审
申请号: | 202010261174.9 | 申请日: | 2020-04-03 |
公开(公告)号: | CN111506472A | 公开(公告)日: | 2020-08-07 |
发明(设计)人: | 李朝晖;梁智敏;李沐泽;戴日成;齐伟广;何文鑫;高志远;罗会标 | 申请(专利权)人: | 华夏龙晖(北京)汽车电子科技股份有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王宇杨 |
地址: | 102206 北京市昌平区沙*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 堆栈 监测 方法 装置 电子设备 存储 介质 | ||
本发明实施例提供一种堆栈监测方法、装置、电子设备及存储介质,方法包括:监测到堆栈溢出;确定操作系统的可扩展等级为SC1或SC2;若操作系统具备判断溢出类型的能力,则确定堆栈发生的溢出类型是任务溢出或中断溢出,获取导致堆栈溢出的任务或中断事件的标识号;根据溢出类型与导致堆栈溢出的任务或中断事件的标识号确定堆栈溢出的原因,根据堆栈溢出的原因对堆栈进行避免堆栈溢出的处理。本发明实施例提供的堆栈监测方法、装置、电子设备及存储介质实现了堆栈溢出现象的实时监测,避免了现有技术中堆栈溢出的发生时间与堆栈溢出被检测到的时间之间有一段较长的时间间隔的问题;能根据原因采取有针对性的措施,有效解决了堆栈溢出的问题。
技术领域
本发明涉及计算机技术领域,尤其涉及一种堆栈监测方法、装置、电子设备及存储介质。
背景技术
堆栈是一种数据项按序排列的数据结构。数据在堆栈中的存入或取出,只能在浮动的一端(称为栈顶)进行。堆栈中的数据严格按照“先进后出”的原则存取,位于堆栈中间的元素,必须在其栈上部(后进栈者)诸元素逐个移出后才能取出。堆栈的主要功能是暂时存放数据和地址,通常用来保护断点和现场。
由于堆栈的存储空间是一定的,因此当堆栈中所存储的数据超过堆栈的存储空间时会出现堆栈溢出的问题。堆栈溢出会导致存储在堆栈中的数据丢失,带来内存异常、程序运行错误乃至操作系统崩溃等一系列问题。
现有技术中的堆栈监测方法在任务切换时,检测任务或ISR(Interrupt ServiceRoutines,中断服务程序)实际需要的堆栈空间是否超过了计算机系统所分配的堆栈空间,如果超出意味着有堆栈溢出,发出告警信号并采取相应的处理措施。
现有技术中的堆栈监测方法检测堆栈溢出的时间点是任务切换这一时刻,这就意味着堆栈溢出的发生时间与堆栈溢出被检测到的时间之间有一段较长的时间间隔。堆栈溢出的错误不能被及时发现,带来安全上的隐患。而且在这一较长的时间间隔内,堆栈溢出错误有可能已经在计算机运行过程中被消除,堆栈监测方法所发出的告警信号未必能反映实时的堆栈溢出情况。
此外,现有技术中的堆栈监测方法所监测的对象是目前被执行的任务或ISR所对应的堆栈空间,而不是计算机系统中的全部堆栈空间。有些情况下,发生堆栈溢出的未必是目前被执行的任务或ISR,如一个被抢占的低优先级任务在保存其局部数据时超过其分配堆栈空间,这就使得现有技术中的堆栈监测方法还具有监测不够全面的问题。
发明内容
本发明实施例提供一种堆栈监测方法、装置、电子设备及存储介质,用以解决现有技术中堆栈溢出错误发现不及时、监测对象不够全面的缺陷,实现对堆栈溢出错误及时、全面的监测。
本发明第一方面实施例提供一种堆栈监测方法,包括:
监测到堆栈溢出;其中,所述堆栈包括堆栈区、缓冲区和隔离区,数据在所述堆栈的存储按照堆栈区、缓冲区和隔离区的顺序存储,从所述堆栈读取数据按照隔离区、缓冲区和堆栈区的顺序读取;
确定操作系统的可扩展等级为SC1或SC2;其中,可扩展等级SC1是在OSEK OS的基础上加入调度表;可扩展等级SC2是在SC1的基础上加入时间保护;
若操作系统具备判断溢出类型的能力,则确定所述堆栈发生的溢出类型是任务溢出或中断溢出,获取导致所述堆栈溢出的任务或中断事件的标识号;
根据所述溢出类型与导致所述堆栈溢出的任务或中断事件的标识号确定所述堆栈溢出的原因,根据所述堆栈溢出的原因对所述堆栈进行避免堆栈溢出的处理。
上述技术方案中,还包括:
确定操作系统的可扩展等级为SC3或SC4,强制终止导致堆栈溢出的任务或中断事件;其中,
可扩展等级SC3是在SC1的基础上加入存储保护;可扩展等级SC4是在SC1基础上加入时间保护和存储保护。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华夏龙晖(北京)汽车电子科技股份有限公司,未经华夏龙晖(北京)汽车电子科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010261174.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:业务传输的方法和装置
- 下一篇:一种边缘节点异常检测的方法及装置