[发明专利]一种城市轨道交通信号系统软件缓冲区范围检查方法有效
| 申请号: | 201811479095.4 | 申请日: | 2018-12-05 |
| 公开(公告)号: | CN109799992B | 公开(公告)日: | 2022-07-19 |
| 发明(设计)人: | 刘志宇;张强 | 申请(专利权)人: | 交控科技股份有限公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41 |
| 代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;李相雨 |
| 地址: | 100070 北京市丰台区*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 城市轨道 交通信号 系统软件 缓冲区 范围 检查 方法 | ||
本发明实施例提供一种城市轨道交通信号系统软件缓冲区范围检查方法,所述方法包括:在软件缓冲区范围检查函数的执行过程中,注册栈区数组;检查当前指针引用的地址是否在已分配的内存地址区间中,所述内存地址区间为预设区域数组对应的区间;所述预设区域数组包括所述栈区数组、预先注册的全局数组和堆区数组;若第一检查结果为是,则调用与所有区间一一对应的搜索函数,以通过所有搜索函数继续检查所述地址,根据第二检查结果,确定所述地址是否超出软件缓冲区范围。本发明实施例提供的城市轨道交通信号系统软件缓冲区范围检查方法,能够通过简化的代码实现城市轨道交通信号系统软件缓冲区范围检查。
技术领域
本发明实施例涉及轨道交通技术领域,具体涉及一种城市轨道交通信号系统软件缓冲区范围检查方法。
背景技术
在轨道交通信号系统软件中,如区域控制器、车载设备等运营过程中会偶发出现设备宕机的情况,运行日志中很难定位和发现问题。经过室内不断复现测试后,常常发现由于软件缓冲区访问越界而导致程序崩溃。在车辆运营过程中的软件代码中,数组的内存空间都是一次性分配好,然后在程序运行过程中对其进行访问调用,而调用过程中经常会出现访问数组缓冲区越界的情况,而编译器却无法发现这类问题,代码在运行过程中遇到缓冲区越界情况会出现崩溃的情况。
为防止缓冲区越界访问的情况出现,往往会在访问数组缓冲区之前,增加防护代码,再判断访问索引是否超过了缓冲区界限。现有的商业代码检查工具具备检查访问缓冲区越界的情况,并在代码编写完成后进行检查,避免越界代码的存在。但是判断访问索引是否超过了缓冲区界限方式会导致代码的复杂度增高,缓冲区界限的变更也会影响判断代码,导致代码维护困难,并可能出现其他不必要的错误。例如,在某轨道交通运营线路中,时常会因为不明原因导致车辆紧急制动,最终查明是在一个复杂逻辑处理函数中代码修改错误,原因是在一个功能函数中防护函数中使用的缓冲区数组,在逻辑代码的分支基础上,又加入了很多防护分支,导致代码复杂度增大,难以准确理解,导致代码修改时逻辑错误。缓冲区的防护措施影响了既有代码的复杂度,导致偶发问题出现,是需要极力避免的情况。
因此,如何避免上述的技术缺陷,通过简化的代码实现城市轨道交通信号系统软件缓冲区范围检查,成为亟须解决的问题。
发明内容
针对现有技术存在的问题,本发明实施例提供一种城市轨道交通信号系统软件缓冲区范围检查方法,包括:
在软件缓冲区范围检查函数的执行过程中,注册栈区数组;
检查当前指针引用的地址是否在已分配的内存地址区间中,所述内存地址区间为预设区域数组对应的区间;所述预设区域数组包括所述栈区数组、预先注册的全局数组和堆区数组;
若第一检查结果为是,则调用与所有区间一一对应的搜索函数,以通过所有搜索函数继续检查所述地址,根据第二检查结果,确定所述地址是否超出软件缓冲区范围。
本发明实施例提供的城市轨道交通信号系统软件缓冲区范围检查方法,通过先检查当前指针引用的地址是否在预设区域数组对应的区间中,如果在,则再通过搜索函数检查该地址是否超出软件缓冲区范围,能够通过简化的代码实现城市轨道交通信号系统软件缓冲区范围检查。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例城市轨道交通信号系统软件缓冲区范围检查方法的流程示意图;
图2为本发明实施例软件缓冲区范围检查方法的时序图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于交控科技股份有限公司,未经交控科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811479095.4/2.html,转载请声明来源钻瓜专利网。





