VxWorks系统下软件异常运行的故障定位方法.pdf
《VxWorks系统下软件异常运行的故障定位方法.pdf》由会员分享,可在线阅读,更多相关《VxWorks系统下软件异常运行的故障定位方法.pdf(3页珍藏版)》请在咨信网上搜索。
1、Science and Technology&Innovation科技与创新2023 年 第 19 期89文章编号:2095-6835(2023)19-0089-03VxWorks 系统下软件异常运行的故障定位方法赵昶宇(天津津航计算技术研究所,天津 300308)摘要:在 VxWorks 软件系统下,受限于目前的测试手段和技术,在应用程序测试阶段容易忽略一些隐蔽的程序缺陷或者错误,导致应用程序在运行过程中出现软件死机和系统复位的现象。对于软件开发人员而言,软件运行过程中死机和系统复位的现象不一致,随机出现且很难复现,给程序缺陷和错误的定位造成了很大的困难。总结了 VxWorks 操作系统中软
2、件死机和系统复位等异常的故障定位方法,能够帮助软件开发人员和测试人员在最短的时间内定位并解决故障,保证 VxWorks 软件系统稳定运行。关键词:VxWorks 系统;软件死机;系统复位;故障定位中图分类号:TP311文献标志码:ADOI:10.15913/ki.kjycx.2023.19.027在 VxWorks 系统下开发实时软件的过程中,由于软件开发人员的经验或技术能力不足,导致开发出的软件在后期运行的过程中偶尔出现软件死机或者系统复位的现象。这些 VxWorks 系统下的异常现象往往是内存泄漏、堆栈溢出或非法指针操作等原因造成的系统崩溃。由于出现这些故障的现象不一,而且往往很难故障复现
3、,所以故障定位异常困难。通常情况下采用在线调试(通过网络或是串口)的手段对 VxWorks 系统下出现的软件故障进行跟踪调试。但是一旦 VxWorks 系统出现死机或者复位时,就无法进行在线调试。现有的解决 VxWorks 系统下死机或复位的方法有基于堆栈异常定位故障、任务死循环定位、堆栈回溯分析法、看门狗电路等。这些方法大多只是针对某一种故障现象提出定位方法,或者只是能够检测软件出现故障,不能定位故障,对于 VxWorks系统下死机和复位故障定位提供的帮助有限。为了实现对 VxWorks 系统下软件死机和复位问题的快速有效故障定位,本文提出了 VxWorks 系统下软件死机和系统复位的故障定
4、位方法。这些方法能够对发生异常的现场进行保存,用最短的时间帮助软件开发人员定位故障发生点,并初步得出产生故障的原因。1利用 ED&R 工具诊断故障在 VxWorks 操作系统下提供了一种错误检测及报告的机制帮助软件开发者调试软件故障,该机制被称为 ED&R(Error Detection and Reporting)功能。在 RAM(RandomAccess Memory,随机存取存储器)中保留一块内存区域,在系统热启动时不会擦除该块区域的内容,此区域用做 ED&R 记录的空间。若该区域中保存的错误信息过多,ED&R 会自动覆盖掉保存的最旧的信息。VxWorks 内核在处理 CPU、用户以及地
5、址等各种各样的异常时,会在 ED&R 中记录异常发生的任务、地址、堆栈调用、异常触发时间,然后再进行保护机制,如热启动等。当系统重启后,通过 VxWorks操作系统提供的Show Routine在Shell中查看发生的故障,进行问题回溯。ED&R 信息所对应的内存区域如图 1 所示1。图 1ED&R 信息所对应的内存区域ED&R 记录的异常种类很多,这些记录可以按照2 个标准进行分类:事件类型、严重级别。事件类型表示发生异常的上下文(在系统初始化时或是在进程中),严重级别表示异常的严重程度,在出现致命错误的情况下,严重级别也与系统对异常的反应有关。VxWorks 对错误或异常的记录保存了事件发
6、生时关于系统的详细信息,每条记录包括以下信息:记录产生的日期和时间;事件类型和严重级别;操作系统版本;任务名称和任务 ID 号,进程名称和进程 ID 号;创建记录的源文件和行号。此外,每条记录还可能包含以下特定体系结构的科技与创新Science and Technology&Innovation902023 年 第 19 期信息:内存映射;异常信息;处理器寄存器;分解清单;堆栈跟踪。在 使 用 VxWorks 的 ED&R 工 具 前,需 要 在VxWorks 镜 像 文 件 中 配 置 INCLUDE_EDR_PM、INCLUDE_EDR_ERRLOG、INCLUDE_EDR_SHOW和 I
7、NCLUDE_EDR_SYSDBG_FLAG 组件。配置完后,当异常记录完毕后,在 Shell 中通过 edrShow()、edrFatalShow()、edrInfoShow()等命令查看发生的异常内容。ED&R 工具记录的各种信息对于评估驱动程序、应用程序以及调试软件 bug 等具有非常大的帮助,但是 ED&R 毕竟是记录在 RAM 中,一旦系统冷启动,所有的记录信息都会消失。若想保存 ED&R 中的各种重要记录,需要设置辅助手段将 ED&R 记录内容保存到非易失性存储器中。在 VxWorks 下操作系统提供 ioGlobalStdSet()函数支持全局输出重定向,函数原型为:void i
8、oGlobalStdSet(int stdFd,int newFd);其中 stdFd 为 STD_OUT 或者 STD_ERR,newFd为重定向的文件描述符。利用这个函数就可以实现系统输出信息的捕获。在VxWorks下操作系统提供ioTaskStdSet()函数支持任务输出重定向,函数原型为:void ioTaskStdSet(int taskId,int stdFd,int newFd);其中 taskId 为任务的 ID 号,stdFd 为 STD_OUT或者 STD_ERR,newFd 为重定向的文件描述符。利用这个函数就可以实现每个任务输出信息的捕获。如果需要将 VxWorks 系
9、统内存使用情况、堆栈使用情况和 ED&R 故障诊断信息保存到文件中,可进行如下设置:FILE*fstream=fopen(/ata0/errlog.txt,a+);memShow(taskId);checkStack(taskId);edrFatalShow(taskId);ioGlobalStdSet(STD_OUT,fileno(fstream);ioGlobalStdSet(STD_ERR,fileno(fstream);ioTaskStdSet(TaskID,STD_ERR,fileno(fstream);在 VxWorks 系统的 TaskID 任务出现异常时,系统会自动将该任务的内
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VxWorks 系统 软件 异常 运行 故障 定位 方法
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。