一种城市轨道交通信号系统软件缓冲区范围检查方法技术方案

技术编号:21199414 阅读:41 留言:0更新日期:2019-05-25 01:07
本发明专利技术实施例提供一种城市轨道交通信号系统软件缓冲区范围检查方法,所述方法包括:在软件缓冲区范围检查函数的执行过程中,注册栈区数组;检查当前指针引用的地址是否在已分配的内存地址区间中,所述内存地址区间为预设区域数组对应的区间;所述预设区域数组包括所述栈区数组、预先注册的全局数组和堆区数组;若第一检查结果为是,则调用与所有区间一一对应的搜索函数,以通过所有搜索函数继续检查所述地址,根据第二检查结果,确定所述地址是否超出软件缓冲区范围。本发明专利技术实施例提供的城市轨道交通信号系统软件缓冲区范围检查方法,能够通过简化的代码实现城市轨道交通信号系统软件缓冲区范围检查。

A Software Buffer Range Checking Method for Urban Rail Transit Signal System

The embodiment of the present invention provides a method for checking the software buffer range of urban rail transit signal system. The method includes: registering stack array during the execution of the software buffer range checking function; checking whether the address referenced by the current pointer is in the allocated memory address range, the memory address range corresponds to the preset region array; and the preset memory address range corresponds to the preset region array. The area array includes the stack array, the pre-registered global array and the heap array; if the first check result is yes, a search function corresponding to all the intervals is called to continue checking the address through all search functions, and according to the second check result, whether the address exceeds the scope of the software buffer is determined. The method for checking the software buffer range of urban rail transit signal system provided by the embodiment of the present invention can realize the software buffer range checking of urban rail transit signal system through simplified code.

【技术实现步骤摘要】
一种城市轨道交通信号系统软件缓冲区范围检查方法
本专利技术实施例涉及轨道交通
,具体涉及一种城市轨道交通信号系统软件缓冲区范围检查方法。
技术介绍
在轨道交通信号系统软件中,如区域控制器、车载设备等运营过程中会偶发出现设备宕机的情况,运行日志中很难定位和发现问题。经过室内不断复现测试后,常常发现由于软件缓冲区访问越界而导致程序崩溃。在车辆运营过程中的软件代码中,数组的内存空间都是一次性分配好,然后在程序运行过程中对其进行访问调用,而调用过程中经常会出现访问数组缓冲区越界的情况,而编译器却无法发现这类问题,代码在运行过程中遇到缓冲区越界情况会出现崩溃的情况。为防止缓冲区越界访问的情况出现,往往会在访问数组缓冲区之前,增加防护代码,再判断访问索引是否超过了缓冲区界限。现有的商业代码检查工具具备检查访问缓冲区越界的情况,并在代码编写完成后进行检查,避免越界代码的存在。但是判断访问索引是否超过了缓冲区界限方式会导致代码的复杂度增高,缓冲区界限的变更也会影响判断代码,导致代码维护困难,并可能出现其他不必要的错误。例如,在某轨道交通运营线路中,时常会因为不明原因导致车辆紧急制动,最终查明是本文档来自技高网...

【技术保护点】
1.一种城市轨道交通信号系统软件缓冲区范围检查方法,其特征在于,包括:在软件缓冲区范围检查函数的执行过程中,注册栈区数组;检查当前指针引用的地址是否在已分配的内存地址区间中,所述内存地址区间为预设区域数组对应的区间;所述预设区域数组包括所述栈区数组、预先注册的全局数组和堆区数组;若第一检查结果为是,则调用与所有区间一一对应的搜索函数,以通过所有搜索函数继续检查所述地址,根据第二检查结果,确定所述地址是否超出软件缓冲区范围。

【技术特征摘要】
1.一种城市轨道交通信号系统软件缓冲区范围检查方法,其特征在于,包括:在软件缓冲区范围检查函数的执行过程中,注册栈区数组;检查当前指针引用的地址是否在已分配的内存地址区间中,所述内存地址区间为预设区域数组对应的区间;所述预设区域数组包括所述栈区数组、预先注册的全局数组和堆区数组;若第一检查结果为是,则调用与所有区间一一对应的搜索函数,以通过所有搜索函数继续检查所述地址,根据第二检查结果,确定所述地址是否超出软件缓冲区范围。2.根据权利要求1所述的方法,其特征在于,所述根据第二检查结果,确定所述地址是否超出软件缓冲区范围,包括:若判断获知所述第二检查结果为每个搜索函数检查出的都是有效地址,则确定所述地址不超出软件缓冲区范围;或,若判断获知所述第二检查结果为至少一个搜索函数检查出的是无效地址,则确定所述地址超出软件缓冲区范围。...

【专利技术属性】
技术研发人员:刘志宇张强
申请(专利权)人:交控科技股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1