【技术实现步骤摘要】
对未初始化变量的检测方法及终端设备
本专利技术属于嵌入式单元测试
,尤其涉及一种对未初始化变量的检测方法及终端设备。
技术介绍
嵌入式软件系统运行前需要对引用的全局变量进行声明和初始化。如果变量引用前没有对全局变量进行初始化,则其初始值是不固定的。对全局变量进行引用时,其运行结果不可预期,并且每次运行现象不同,这样不仅可能带来经济损失,而且给软件开发人员对问题定位带来困难,导致软件漏洞无法全部查找,增加软件开发人员调试程序的时间投入。
技术实现思路
有鉴于此,本专利技术实施例提供了一种对未初始化变量的检测方法及终端设备,可以通过脚本自动化检测的方法,实现快速检测嵌入式软件中未初始化的全局变量。本专利技术实施例的第一方面提供了一种对未初始化变量的检测方法,包括:复位被测系统,使指针指向所述被测系统的主函数;在所述被测系统中存放全局变量的内存段内填充指定数据;使指针运行到变量初始化完毕的函数位置,读取所述内存段数据,获取所述全局变量的名称对应的内存单元总数和所述指定数据的单元总数;当所述全局变量的名称对应的内存单元总数和所述指定数据的单元总数相同时,则确定所述全局变 ...
【技术保护点】
1.一种对未初始化变量的检测方法,其特征在于,包括:复位被测系统,使指针指向所述被测系统的主函数;在所述被测系统中存放全局变量的内存段内填充指定数据;使指针运行到变量初始化完毕的函数位置,读取所述内存段数据,获取所述全局变量的名称对应的内存单元总数和所述指定数据的单元总数;当所述全局变量的名称对应的内存单元总数和所述指定数据的单元总数相同时,则确定所述全局变量为未初始化的全局变量。
【技术特征摘要】
1.一种对未初始化变量的检测方法,其特征在于,包括:复位被测系统,使指针指向所述被测系统的主函数;在所述被测系统中存放全局变量的内存段内填充指定数据;使指针运行到变量初始化完毕的函数位置,读取所述内存段数据,获取所述全局变量的名称对应的内存单元总数和所述指定数据的单元总数;当所述全局变量的名称对应的内存单元总数和所述指定数据的单元总数相同时,则确定所述全局变量为未初始化的全局变量。2.如权利要求1所述的对未初始化变量的检测方法,其特征在于,在所述复位被测系统,使指针指向所述被测系统的主函数之前,还包括:嵌入式处理器的集成开发环境IDE具备调试服务器脚本DSS工具包;调用执行所述DSS工具包;所述复位被测系统,使指针指向所述被测系统的主函数,包括:调用脚本调试复位指令,复位被测系统,使指针指向所述被测系统的主函数。3.如权利要求2所述的对未初始化变量的检测方法,其特征在于,在所述被测系统中存放全局变量的内存段内填充指定数据,包括:调用脚本调试内存填充指令,在所述被测系统中.ebss段的随机存取存储器RAM中所有内存单元填充指定数据。4.如权利要求3所述的对未初始化变量的检测方法,其特征在于,在所述调用脚本调试内存填充指令,在所述被测系统中.ebss段的随机存取存储器RAM中所有内存单元填充指定数据之后,还包括:调用脚本调试断点指令,在所述被测软件系统中的初始化函数后一个语句设置断点;调用脚本调试全速运行指令,全速运行所述被测软件系统到断点语句。5.如权利要求3或4所述的对未初始化变量的检测方法,其特征在于,所述读取所述内存段,获取所述全局变量的名称对应的内存单元总数和所述指定数据的单元总数,包括:调用脚本调试内存读取指令,读取所述.ebss段RAM内存单元的所有指定数据;调用脚本调试变量读取指令,读取所述.ebss段地址对应的所述全局变量的名称;当获取到所述全局变量的名称时,获取第一计数器累计的所述全局变量的名称对应的内存单元总数,并获取第二计数器累计的所述指定数据的单元总数。6.如权利要求5所述的对未...
【专利技术属性】
技术研发人员:张蓬勃,胡欣,洪开慧,
申请(专利权)人:科华恒盛股份有限公司,漳州科华技术有限责任公司,
类型:发明
国别省市:福建,35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。