一种软件错误现场定位的方法及装置制造方法及图纸

技术编号:4253620 阅读:264 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种软件错误现场定位的方法及装置,其中的方法用于对嵌入式软件系统进行错误现场的定位,包括以下步骤:定位装置接收预定义的用于错误现场定位的待检测事件;所述定位装置通过监测所述嵌入式软件系统的运行判断所述待检测事件是否发生;所述定位装置在所述待检测事件发生时执行预定义的相应操作。本发明专利技术给出的技术方案通过在嵌入式软件系统运行过程中,不断检测预先定义的待检测事件的任务参数是否满足,从而在系统中可实施精确定位,定位精确大致是指令级,误差通常可控制在几个指令周期以内。本发明专利技术提出的技术方案需要在硬件的支持下进行芯片级的驱动开发,此外对软件系统的架构等没有任何限制,应用性较广。

【技术实现步骤摘要】

本专利技术涉及软件检测,尤其涉及一种在嵌入式软件系统中进行错误现场定位的方法及装置。
技术介绍
随着科学技术的不断发展,自动化技术越来越多地受到关注。航空航天、通信、医 疗器械、公共设施、家用电器、车载仪表等等各个领域越来越多地采用嵌入式系统来实现自 动化技术,从而给用户带来更加安全、高效、稳定的服务。 然而任何软件系统都存在错误和异常,它们的存在可能会引起严重的后果。因此, 在软件系统的生命周期中查找和消除错误和异常是一件至关重要的工作,它对软件系统的 质量将产生不可估量的影响。在现代的软件工程中,为了尽量避免引入错误和异常或引入 较少的错误和异常,研发人员都被要求按照严格的规范来进行软件的开发和设计,但是这 并不能从根本上解决问题。 目前来说,软件系统开发的过程常用的调试手段比较单一,在测试阶段(单元测 试、集成测试)除尽量考虑边界条件、扩大输入覆盖面外,对系统隐藏较深的错误和异常无 法有效的定位和检测,如需要多个特定的条件同时满足才能触发的系统错误和异常,可能 需要跑几百次甚至几万次或很长的时间才能出现,这样的情况常常让人无从下手,很难准 确地分析错误原因。 在嵌入式系统的开发过程中,更是如此。由于嵌入式系统其具有的自身特点,例如 开发界面不够友好、调试手段不充分、对错误和异常的反馈不及时等等,这常常导致调试过 程异常繁琐、定位时间长、定位精度低,严重影响了软件开发的周期和效率,同时大大降低 了软件质量。
技术实现思路
为了解决嵌入式系统运行过程中错误现场定位困难的问题,本专利技术的提供了一种 软件错误现场定位的方法及装置,其中软件错误现场定位的方法用于对嵌入式软件系统进 行错误现场的定位,包括以下步骤 定位装置接收预定义的用于错误现场定位的待检测事件; 所述定位装置通过监测所述嵌入式软件系统的运行判断所述待检测事件是否发 生; 所述定位装置在所述待检测事件发生时执行预定义的相应操作。 所述待检测任务参数包括总线类型、触发方式、触发配置和触发类型。 所述判断所述待检测事件是否发生的步骤具体为 所述定位装置在所述嵌入式软件系统的运行过程中判断所述待检测事件对应的 待检测任务参数是否满足,如果满足,则指示所述待检测事件发生; 所述执行预定义的相应操作的步骤具体为 所述定位装置在所述待检测事件发生时,产生特定异常中断或者将CPU挂起。 所述定位装置接收预定义的用于错误现场定位的待检测事件的步骤之后进一步包括 所述定位装置向系统申请硬件资源; 所述定位装置在申请到硬件资源后,将所述待检测事件对应的待检测任务参数写入寄存器中。本专利技术还提供了一种软件错误现场定位装置,包括 接收模块,用于接收预定义的用于错误现场定位的待检测事件; 判断模块,用于通过监测嵌入式软件系统的运行判断所述待检测事件是否发生; 执行模块,用于在所述待检测事件发生时执行预定义的相应操作。所述装置进一步包括 申请模块,用于根据所述待检测事件,向系统申请硬件资源; 写入模块,用于在申请到硬件资源后,将所述待检测事件对应的待检测任务参数写入寄存器中。 所述接收模块通过后台工具实现,所述判断模块和所述执行模块通过CPU实现。 所述申请模块和所述写入模块通过前台实现。 所述待检测事件对应的待检测任务参数包括总线类型、触发方式、触发配置和触发类型。 所述预定义的相应操作为产生特定异常中断或者将CPU挂起。 与现有技术相比,本专利技术具有以下有益效果 本专利技术给出的技术方案通过在嵌入式软件系统运行过程中,不断检测预先定义的待检测事件的任务参数是否满足,从而在系统中可实施精确定位,定位精确大致是指令级,误差通常可控制在几个指令周期以内。本专利技术提出的技术方案需要在硬件的支持下进行芯片级的驱动开发,此外对软件系统的架构等没有任何限制,应用性较广。附图说明 图1为本专利技术软件错误现场定位方法流程 图2为本专利技术软件错误现场定位装置结构示意 图3为本专利技术具体实施例的流程图。具体实施例方式在传统的嵌入式系统中,通常是在仿真环境下进行软件系统的开发和测试,测试完成后投入到真实环境中运行。然而一旦在真实环境运行出现了故障,就不再具备错误现场还原的能力,很难进行调试。本专利技术提供了一种在嵌入式系统中利用错误预测和现场捕捉机制进行错误现场检测和定位的方法及装置,并给出了具体的实现方案。 下面结合附图对本专利技术的具体实施方式做进一步详细说明。 参考图1,图1为本专利技术软件错误现场定位方法流程图,包括以下步骤 步骤1,定位装置接收预定义的用于错误现场定位的待检测事件; 待检测事件是自定义事件,对自定义事件的描述包括以下几个方面 (1)总线类型分为数据总线和地址总线。用于描述事件发生时CPU访问的内存地址是数据变量还是函数执行代码。 (2)触发方式分为点监控和范围监控。用于描述事件发生时CPU访问的内存地址是某一特定的值还是某一范围内的值。 (3)触发配置当触发方式为点监控时,为待检测的特定的内存地址;当触发方式为范围监控时,为待检测的内存起始地址和结束地址。 (4)触发类型分为读操作和写操作。用于描述事件发生时CPU是读内存还是写内存。步骤2,定位装置通过监测嵌入式软件系统的运行判断待检测事件是否发生; 判断的具体过程为定位装置在嵌入式软件系统的运行过程中判断待检测事件对应的待检测任务参数是否满足,如果满足,则指示待检测事件发生。 步骤3,定位装置在待检测事件发生时执行预定义的相应操作。 定位装置在待检测事件发生时,产生特定异常中断或者将CPU挂起等预定义的操作。 本专利技术的定位方法要实现对错误现场的定位,需要在硬件资源充足的条件下实现,因此,本专利技术的定位方法在步骤1和2之间进一步包括 步骤1. l,定位装置向系统申请硬件资源; 本步骤的具体实施过程为 (1)判断当前系统中已成功配置的任务总数是否已达上限,若是则直接返回失败,否则继续执行(2)。(2)判断当前系统中剩余的硬件资源种类和数量是否能满足任务需求,若不满足则直接返回失败,否则继续执行(3)。我们预先将系统的资源总数和已使用的资源数保存在全局变量中,称为资源状态图,当需要申请资源时,从资源状态图中进行查找。 (3)将本任务申请的硬件资源置为保留,并同时更新系统资源状态图。 这里需要说明的是(1)和(2)的执行过程并不分先后顺序。 步骤1. 2,定位装置在申请到硬件资源后,将待检测事件对应的待检测任务参数写入寄存器中。 本专利技术的软件错误现场定位方法应用于软件错误现场定位装置,下面对软件错误现场定位装置进行详细说明。 参考图2,图2为本专利技术软件错误现场定位装置结构示意图,包括 接收模块,用于接收预定义的用于错误现场定位的待检测事件; 判断模块,用于通过监测嵌入式软件系统的运行判断待检测事件是否发生; 执行模块,用于在待检测事件发生时执行预定义的相应操作。 进一步,为了保证本专利技术的装置能够正常运行,需要有充足的硬件资源的支持,因此,本专利技术的装置还包括 申请模块,用于根据待检测事件,向系统申请硬件资源; 写入模块,用于在申请到硬件资源后,将待检测事件对应的待检测任务参数写入寄存器中。 下面通过一个具体实施例来说明如何在嵌入式系统运行过程中对嵌入式系统的错误现场进行定位。以下实施例需要在硬件的支持下本文档来自技高网...

【技术保护点】
一种软件错误现场定位的方法,其特征在于,所述方法用于对嵌入式软件系统进行错误现场的定位,包括以下步骤:    定位装置接收预定义的用于错误现场定位的待检测事件;    所述定位装置通过监测所述嵌入式软件系统的运行判断所述待检测事件是否发生;所述定位装置在所述待检测事件发生时执行预定义的相应操作。

【技术特征摘要】
一种软件错误现场定位的方法,其特征在于,所述方法用于对嵌入式软件系统进行错误现场的定位,包括以下步骤定位装置接收预定义的用于错误现场定位的待检测事件;所述定位装置通过监测所述嵌入式软件系统的运行判断所述待检测事件是否发生;所述定位装置在所述待检测事件发生时执行预定义的相应操作。2. 如权利要求1所述的软件错误现场定位的方法,其特征在于,所述待检测任务参数 包括总线类型、触发方式、触发配置和触发类型。3. 如权利要求1所述的软件错误现场定位的方法,其特征在于,所述判断所述待检测 事件是否发生的步骤具体为所述定位装置在所述嵌入式软件系统的运行过程中判断所述待检测事件对应的待检 测任务参数是否满足,如果满足,则指示所述待检测事件发生; 所述执行预定义的相应操作的步骤具体为所述定位装置在所述待检测事件发生时,产生特定异常中断或者将CPU挂起。4. 如权利要求1所述的软件错误现场定位的方法,其特征在于,所述定位装置接收预 定义的用于错误现场定位的待检测事件的步骤之后进一步包括所述定位装置向系统申请硬件资源;所述定位装置在申请到硬件资源后,将所述待检测事件对应的待检...

【专利技术属性】
技术研发人员:汤时虎郑国春
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

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

1