[发明专利]一种栈溢出处理的方法及装置在审

专利信息
申请号: 201710502695.7 申请日: 2017-06-27
公开(公告)号: CN109144756A 公开(公告)日: 2019-01-04
发明(设计)人: 刘自龙;朱亮亮;曾旭;陈凌君;王斌;蔡俊杰 申请(专利权)人: 阿里巴巴集团控股有限公司
主分类号: G06F11/07 分类号: G06F11/07
代理公司: 北京润泽恒知识产权代理有限公司 11319 代理人: 苏培华
地址: 英属开曼群岛大开*** 国省代码: 开曼群岛;KY
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 溢出 内存管理 内存访问 器件检测 问题排查 溢出检测 时效性 检测 触发 中断 申请 发现
【说明书】:

本申请实施例提供了一种栈溢出处理的方法及装置,其中所述方法包括:采用内存管理器件检测指定栈是否发生栈溢出;当检测到所述指定栈发生栈溢出时,由所述内存管理器件触发内存访问中断。通过内存管理器件来检测栈溢出,可以有效提高栈溢出检测的时效性,及时发现栈溢出等偶现性问题,缩短栈溢出问题排查时间。

技术领域

本申请涉及内存处理技术领域,特别是涉及一种栈溢出处理的方法以及一种栈溢出处理的装置。

背景技术

在操作系统的运行过程中,栈溢出是导致操作系统不稳定的重要原因,由于栈溢出具有偶现的特点,往往很难找到导致问题的原因,导致产品研发周期的不确定性。

在现有技术中,通常采用如下方式进行栈溢出检测:

在进程的栈初始化的时候,按预设的字节对齐方式,用特定魔数(比如0x9527)将栈元素依次完成初始化;在系统运行的时候,通过守护进程,依次遍历各个进程的栈,检测栈元素的值是否等于初始化的魔数,求得被污染的元素个数所占栈大小的比例,即为栈使用量,根据栈使用量来判定是否发生栈溢出。

通过这种方法,虽然能检测到是否出现栈溢出,但由于需要在系统运行的时候通过检测魔数有没有改变来判定是否出现溢出,此时距离栈溢出已经有一段时间,因此,现有方案不能及时的检测出栈溢出,导致栈溢出的排查时间较长。

发明内容

鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种栈溢出处理的方法和相应的一种栈溢出处理的装置。

为了解决上述问题,本申请实施例公开了一种栈溢出处理的方法,所述方法包括:

采用内存管理器件检测指定栈是否发生栈溢出;

当检测到所述指定栈发生栈溢出时,由所述内存管理器件触发内存访问中断。

优选地,在所述采用所述内存管理器件检测指定栈是否发生栈溢出的步骤之前,还包括:

获取所述指定栈的栈信息,所述栈信息包括所述指定栈的起始地址以及栈大小;

基于所述指定栈的起始地址以及栈大小,确定所述指定栈的栈底地址;

采用所述内存管理器件,设置所述栈底地址的访问权限。

优选地,所述指定栈包括任务栈,所述获取所述指定栈的栈信息的步骤包括:

当检测到所述任务栈进行任务切换时,获取所述任务栈的栈信息。

优选地,所述指定栈包括中断栈,所述获取所述指定栈的栈信息的步骤包括:

从编译链接脚本程序中获取所述中断栈的栈信息。

优选地,所述采用所述内存管理器件检测指定栈是否发生栈溢出的步骤包括:

当检测到对栈底的访问操作时,判定所述指定栈发生栈溢出。

优选地,所述方法还包括:

获取所述栈溢出对应的上下文信息;

基于所述上下文信息,进行栈溢出问题排查。

优选地,所述内存管理器件包括内存保护单元MPU或内存管理单元MMU。

本申请实施例还公开了一种栈溢出处理的装置,所述装置包括:

栈溢出检测模块,用于采用内存管理器件检测指定栈是否发生栈溢出;

中断处理模块,用于当检测到所述指定栈发生栈溢出时,由所述内存管理器件触发内存访问中断。

优选地,所述装置还包括:

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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