基于Valgrind检测OSE应用程序的研究与实现

被引量 : 0次 | 上传用户:jerrymao
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
众所周知,当使用C/C++这类编程语言编程时,需要由程序员负责内存管理。现在随着硬件和软件系统变得越来越复杂,在使用C/C++编写的软件系统中难免会有像内存泄漏,内存读写越界之类的内存错误。内存错误常常具有隐蔽性,单单依靠运行程序或者使用GDB之类的传统调试器来检测内存错误的故障源是非常困难的。于此同时,OSE实时操作系统是一款广泛应用广泛的由ENEA公司开发的实时操作系统产品。目前,OSE实时操作系统的用户可以使用IBM公司Rational PurifyPlus测试工具来分析OSE应用软件中的内存错误,但Rational PurifyPlus测试工具作为IBM公司的商用软件,价格高昂,并不是所有OSE实时操作系统的用户愿意承担的。与此同时,由于Rational PurifyPlus为闭源软件,我们无法根据OSE操作系统的需要对其进行修改,因而在某些场合使用Rational PurifyPlus检测OSE应用中的内存错误的检测结果不是很理想。Valgrind是一个用于构建程序调试和程序剖析工具的开源框架。Valgrind工具集可用于分析应用软件中的内存错误和线程错误,目前支持ARM处理器,x86处理器和PPC处理器的硬件平台,并可运行在Linux操作系统,Darwin操作系统,FreeBSD操作系统和Android操作系统上。本文深入探讨了使用Valgrind开源工具集替代Rational PurifyPlus工具来检测OSE应用程序中内存错误的可行性方案。首先,本文在功能和性能上对比了Rational PurifyPlus工具和Valgrind工具,以证明Valgrind工具替代Rational PurifyPlus工具的可行性。随后,本文介绍了Valgrind工具组件及Valgrind工具检测内存错误的原理,OSE操作系统的架构及其系统特性。然后本文深入分析了Valgrind工具集不支持检测OSE操作系统中应用程序的内存错误的根本原因,并在此基础上提出了四种解决方案,并详细分析了每种方案的优劣。最后本文介绍了由笔者开发的软件原型,该软件原型采用了在Valgrind平台下同时运行OSE软内核(OSE软内核可以理解为运行在Linux主机上的OSE虚拟机)和OSE应用程序的方案,以达到使用Valgrind工具分析OSE应用程序中的内存错误的目的。该软件原型包括根据OSE操作系统特性制定的Valgrind工具集,以及用于Valgrind工具集和OSE软内核通讯的中间件OSE-WRAPPER.最后本文通过功能测试和速度测试验证了方案的可行性。
其他文献
介绍了青稞原料的化学成分,特点是蛋白质含量为14%,淀粉含量60%左右;采用清蒸清烧工艺生产青稞大曲酒的生产过程;以及该酒的组分和风格特点。□(汉冯李)
市场经济的道德是建立在自利的基础上。是不是市场经济就只有自利,不需要别的道德因素了呢?市场经济更需要对他人的责任感,这种责任感虽不是建立在自利的基础之上的,但它却是
井网的设计与优化油田开发有着重要的意义,尤其对于地质条件复杂的非均质性油藏,合理高效的井网排布能够显著的提高油田采收率。目前国内外对于井网构建与优化的研究多针对于
目的 了解静脉吸毒人群接受艾滋病病毒 (HIV)自愿咨询检测 (VCT)前后其高危性行为的变化情况。方法 以社区为基础招募HIV阴性的静脉吸毒人群 ,采用前瞻性队列研究 ,比较HIV
<正>联合早报 9月19日如果以史为鉴,错过阿里巴巴首次公开发行(IPO)的投资者,在阿里巴巴登陆纽交所后买入时需要三思而后行。阿里巴巴的IPO筹资约220亿美元,有机会抢过中国农
目的:评价扶正活血法为主的治疗方法对糖尿病足坏疽的临床疗效。方法:观察112例糖尿病足坏疽患者的创面愈合情况、常见中医证候量化积分及生命质量,评价扶正活血法为主的治疗
本文介绍了机器视觉在工业在线检测中的应用,并结合其在铜箔基板疵点在线检测系统中的应用实例,给出了该系统的构成及实现。
目的系统评价静脉注射胺碘酮与普罗帕酮治疗阵发性室上性心动过速的疗效与安全性。方法计算机检索1999—2012年中英文电子文献数据库,收集有关胺碘酮和普罗帕酮治疗阵发性室
本文从《2018小学语文新课程标准》中小学第一学段对口语交际的目标出发,结合和分析现状,从而找准途径。即结合自己在营造氛围、拼音教学、识字教学、组词、以词扩句、运用教
档案管理是对档案的收集、整理、保管、鉴定、统计和提供利用的活动。企业档案是企业工作的原始记录,是发展的一种重要信息资源。企业档案工作的好坏在一定程度上制约着企业