[发明专利]一种嵌入式系统中自动检测内存越界的方法及系统有效
申请号: | 201410727543.3 | 申请日: | 2014-12-04 |
公开(公告)号: | CN104461880B | 公开(公告)日: | 2018-01-09 |
发明(设计)人: | 李靖禹;林鎏娟;林剑宇 | 申请(专利权)人: | 福建星网视易信息系统有限公司;福建星网锐捷通讯股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 福州市鼓楼区京华专利事务所(普通合伙)35212 | 代理人: | 林晓琴 |
地址: | 350000 福建省福州市仓山区建*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 系统 自动检测 内存 越界 方法 | ||
1.一种嵌入式系统中自动检测内存越界的方法,其特征在于:所述方法包括编译过程、交换分区过程和检测过程:
所述编译过程:对需要加入嵌入式系统中的应用进行编译,具体过程如下:
步骤10、对越界检测工具进行交叉编译成嵌入式系统的工具链和检测库;
步骤11、通过工具链编译所述应用的应用程序;
步骤111、进入所述应用程序的编译时,先初始化栈变量的映射内存标记,保留栈时也在栈前与栈后各保留32个字节的空间,用于检测过程中在映射内存上标记栈变量的起始位置和结束位置;
步骤112、在所述应用程序中使用具有检测功能的检测函数替换直接的指针读与写操作,便于检测过程中判断可执行程序的指针是否越界;
步骤113、退出所述应用程序的编译时,清空栈变量的映射内存标记;
步骤12、链接检测库和所述应用程序,得到应用的可执行程序;
步骤13、在嵌入式系统中部署检测库和所述可执行程序;
所述交换分区过程:在嵌入式系统中创建交换分区,增加嵌入式系统的可用内存;
所述检测过程:在嵌入式系统中先加载检测库以自动启用越界检测功能,然后再加载及运行所述可执行程序:若所述可执行程序运行时异常退出,判定出现内存越界;若所述可执行程序正常运行达到测试时长,则判定没有出现内存越界,结束检测。
2.根据权利要求1所述的一种嵌入式系统中自动检测内存越界的方法,其特征在于:所述交换分区位于U盘、移动硬盘或网络文件系统中。
3.根据权利要求1所述的一种嵌入式系统中自动检测内存越界的方法,其特征在于:所述检测过程中判断是否出现内存越界的步骤具体如下:
步骤20、调试所述可执行程序前先加载检测库,在检测库初始化时保留映射内存;
步骤21、将系统库函数替换为所述检测函数,用于检测所述可执行程序中的函数调用是否越界;
步骤22、进入检测函数时在映射内存上标记栈变量的起始位置和结束位置;
步骤23、先检测指针是否在非法地址上,若是,则判断指针读或者写越界;若否,再检测函数调用是否合法,若不合法,则判定内存越界,若合法,则所述可执行程序正常运行达到所述测试时长后,判定没有出现内存越界,将退出检测函数清除栈变量的映射内存标记。
4.根据权利要求1或3所述的一种嵌入式系统中自动检测内存越界的方法,其特征在于:所述检测过程还包括,当判定内存越界时,将自动打印日志并直接让所述可执行程序退出。
5.一种嵌入式系统中自动检测内存越界的系统,其特征在于:所述系统包括编译模块、交换分区模块和检测模块:
所述编译模块:用于对需要加入嵌入式系统中的应用进行编译,具体过程如下:
步骤10、对越界检测工具进行交叉编译成嵌入式系统的工具链和检测库;
步骤11、通过工具链编译所述应用的应用程序;
所述编译模块包括初始化单元,用于初始化栈变量和替换指针读与写操作,具体过程如下:
步骤111、进入所述应用程序的编译时,先初始化栈变量的映射内存标记,保留栈时也在栈前与栈后各保留32个字节的空间,用于检测过程中在映射内存上标记栈变量的起始位置和结束位置;
步骤112、在所述应用程序中使用具有检测功能的检测函数替换直接的指针读与写操作,便于检测过程中判断可执行程序的指针是否越界;
步骤113、退出所述应用程序的编译时,清空栈变量的映射内存标记;
步骤12、链接检测库和所述应用程序,得到应用的可执行程序;
步骤13、在嵌入式系统中部署检测库和所述可执行程序;
所述交换分区模块:用于在嵌入式系统中创建交换分区,增加嵌入式系统的可用内存;
所述检测模块:用于在嵌入式系统中先加载检测库以自动启用越界检测功能,然后再加载及运行所述可执行程序:若所述可执行程序运行时异常退出,判定出现内存越界;若所述可执行程序正常运行达到测试时长,则判定没有出现内存越界,结束检测。
6.根据权利要求5所述的一种嵌入式系统中自动检测内存越界的系统,其特征在于:所述交换分区位于U盘、移动硬盘或网络文件系统中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建星网视易信息系统有限公司;福建星网锐捷通讯股份有限公司,未经福建星网视易信息系统有限公司;福建星网锐捷通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410727543.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种写缓存的方法及装置
- 下一篇:测试笔记本电脑外接显示接口的系统及方法