[发明专利]一种机载电子战嵌入式软件内存溢出检测方法有效
申请号: | 202110294932.1 | 申请日: | 2021-03-19 |
公开(公告)号: | CN113138874B | 公开(公告)日: | 2023-04-25 |
发明(设计)人: | 刘坚;杨洋;杨柳;邓丽粼;汪相国 | 申请(专利权)人: | 中国电子科技集团公司第二十九研究所 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F11/30 |
代理公司: | 成都九鼎天元知识产权代理有限公司 51214 | 代理人: | 贾年龙 |
地址: | 610036 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 机载 电子战 嵌入式 软件 内存 溢出 检测 方法 | ||
本发明公开了一种机载电子战嵌入式软件内存溢出检测方法,包括以下步骤:S1、定义数据块格式;S2、采用系统提供标准内存申请接口,并将其进行封装给用户使用,对开辟后的内存数据块进行重新封装,包装成定义的数据块格式;S3、在用户使用内存时对内存数据块进行检测,且在发现错误实时抛出异常;S4、对内存数据进行数据块进行检测,当数据块数据均正确时释放内存;否则抛出异常。本发明用于解决机载电子战嵌入式软件内部多任务之间在进行数据交互时,避免出现任务之间的内存被随意占用和内存数据被其他任务破坏的情况。
技术领域
本发明涉及机载电子站系统嵌入式软件技术领域,具体涉及一种机载电子战嵌入式软件内存溢出检测方法。
背景技术
随着嵌入式软件的快速发展,以及嵌入式处理芯片(ARM、PPC等)的迭代更新,机载嵌入式软件的研发主要呈现出下面几个明显趋势。
a)规模越来越大;
b)复杂程度越来越高;
c)安全性要求越来越高。
机载电子战嵌入式软件在研发设计过程中同样呈现出上述趋势。在机载电子战嵌入式软件研发设计和调试过程中发现,经常会出现一些莫名其妙的内存错误。常见的内存访问错误主要有:
a)越界访问;
b)访问已经非法内存;
c)重复释放同一块内存;
d)内存泄露;
e)内存溢出。
针对上述内存访问错误,在桌面及嵌入式操作系统有很多检测方法,但大多依赖第三方检测工具或者通过源代码插装方式检测。例如在Windows中有Visual LeakDetector工具可以检测内存泄露;在Linux中有slub_debug、kmemleak、kasan等其他工具用来检测内存访问错误问题;在嵌入式操作系统中有提出基于动态检测技术和程序插装技术的嵌入式软件内存泄露分布式检测方法。但是在机载电子战嵌入式软件中目前没有一款轻量级的、适用于机载电子战嵌入式软件实时检测的工具和方法。
发明内容
针对现有技术中的上述不足,本发明提供的一种机载电子战嵌入式软件内存溢出检测方法解决了在机载电子战嵌入式软件中目前没有一款轻量级的、适用于机载电子战嵌入式软件实时检测的工具和方法的问题。
为了达到上述发明目的,本发明采用的技术方案为:一种机载电子战嵌入式软件内存溢出检测方法,包括以下步骤:
S1、定义数据块格式;
S2、采用系统提供标准内存申请接口,并将其进行封装给用户使用,对开辟后的内存数据块进行重新封装,包装成定义的数据块格式;
S3、在用户使用内存时对内存数据块进行检测,且在发现错误实时抛出异常;
S4、对内存数据进行数据块进行检测,当数据块数据均正确时释放内存;否则抛出异常。
进一步地:所述步骤S1中数据块格式包括有效数据内容Data、数据块头帧格式Header、数据块尾帧格式Tail以及有效数据内容大小DataSize。
进一步地:所述步骤S2的具体步骤为:
S21、申请iLen+12B大小的空间*p;
S22、在DataSize存放数据长度iLen;
S23、在Header存放特殊字符0x7e 0xef 0x7e 0xe7;
S24、在Tail存放特殊字符0x1 0x2 0x3 0x4;
S25、返回指针*(p+8)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第二十九研究所,未经中国电子科技集团公司第二十九研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110294932.1/2.html,转载请声明来源钻瓜专利网。