嵌入式应用程序内存检测技术的研究与实现

来源 :科技风 | 被引量 : 0次 | 上传用户:stayrose
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:在计算机领域中,嵌入式应用程序中出现的内存错误对于系统的正常运行起到了阻碍作用,这就需要我们使用检测技术对错误进行检测。内存错误主要是指在应用程序中出现的读写内存单元问题,或者是在执行内存相关操作时所出现的一系列错误,这是导致绝大多数软件发生紊乱的根本原因。在程序的运行期间较难寻找这些错误,在进行软件的调试过程中很有可能因为某些内存错误而阻断程序的运行。因此我们需要对应用程序的内存设计一定的检测技术,通过这种技术避免一些内存问题的出现。本文对这种内存检测技术作出了基本的研究与总结。
  关键词:嵌入式;内存错误;缓冲区溢出;静态检测技术
  一、嵌入式应用程序的系统性概述
  嵌入式系统是一种从国外引进的一种控制与检测机器、装置等的设备。这种嵌入式系统在国内也有了许多应用,并对于国内的装置检测作出了重要的贡献。国内对于这种系统的介绍较为详细,是以应用为中心,结合计算机网络基础进行的一种对应用系统检测,并在计算机系统中发挥着重要的监控作用。在嵌入式系统中,由于系统具有高度的集中化,因此在实际应用中往往是将软件或者硬件在系统中进行嵌入通过一个个小系统的构建,集成到一个较为大的系统之中并发挥各自的作用。这种嵌入式系统与以往的计算机系统相比具有多方面的使用便捷性,例如所使用的硬件、软件的集成度存在较高的水平。但是,在嵌入式系统面向特定应用时,还是会具有资源有限的不利条件。[1]我们应该从实际出发对这种系统作出全面的分析,了解系统的利弊,并结合实践应用设计合理的系统,促进计算机系统的稳定发展。
  由于嵌入式系统与以往的计算机应用系统相比具有资源有限的特点,因此在对于嵌入式系统的软件开发过程中具有与以往的计算机系统不同的特点。例如在嵌入式系统进行硬件平台的选择时,常常需要使用专门的微处理器或者是其他设备对系统进行特定的处理,因此对硬件平台的专用性水平要求较高。除此之外,由于嵌入式系统中的硬件与软件的开发是同步进行的,因此在初期可能会出现系统稳定性较低或者是使用平台不确定的现象发生。
  二、应用程序中的内存错误分析之缓冲区溢出
  在程序的内存可能出现的错误中,有很多错误都会对程序的正常与稳定运行具有一定的不良影响,干扰程序的正常运行。以下主要对程序内存错误的代表性错误作出分析,即缓冲区溢出的内存错误分析。
  这种错误主要是由于缓存区的缓存数据具有一定的限度引起的,而当数据超过这个容量之时便会出现缓存区数据溢出的后果。这种错误会使多余的数据在其他的内存单元进行区域覆盖,造成了极大的程序系统漏洞。在计算机的程序中,任何一种漏洞的出现都可能被黑客或者其他计算机程序攻击者利用,给计算机系统安全帶来了极大的威胁。由于程序设计人员对于安全编程的应用与防范意识过差,因此可能会给计算机程序入侵者提供机会,给恶意代码的侵入制造机会,进而会更改程序的执行流程,极大的破坏了计算机系统的安全稳定性。[2]这种缓存区溢出的问题作为程序内存错误中一个重要的问题,应当引起无论是软件开发人员还是技术检测人员的强烈关注。如下图。
  三、嵌入式应用程序内存中的静态检测技术
  作为在软件错误检测中的一种极为重要的检测技术,静态检测技术是一种较为普遍使用的检测技术,在实际的软件错误分析中占据一定的地位。这种检测技术一般从词法语法或者其他方面对相应的文件进行检测与分析,这种检测技术的好处是不但可以对源代码进行检测,也可以对二进制文件进行一定的检测。这种方式的可靠性与安全性都比较高。但是,对于程序进行的这种静态测试,其实不不是为了检验程序的正确与否,而是起到了一个作为动态检测的辅助操作。在程序投入使用之前,往往会先对程序进行检测,对可能存在的隐患作出分析,并发现程序中存在的错误与程序漏洞,这样才能对程序进行一定的改进,防止程序在正式投入后出现一系列无法补救的问题。这种静态检测的检测范围是十分广泛的,覆盖软件的范围极广,因此在应用程序中的应用型特别强。
  静态检测技术可以在较早的时间里对嵌入式系统程序进行分析,及时发现程序中的内存错误并作出防范或者改正措施。由于软件开发的生命周期是有一定限度的,因此我们需要在软件投入使用之前做好软件的调试准备,及时地对可能存在地隐患作出错误分析,以便在运行时可以重新对系统进行审查。[3]这样可以及时地发现软件中存在地错误,以防止对于以后地错误维护而付出不必要地高昂费用,另外,快速有效地发现错误,对技术开发人员及时维护系统漏洞具有很大地帮助。由于静态检测可以直接对代码进行检查,因此有些静态分析技术可以直接在代码段上应用,在代码编辑完成之前就能对代码错误作出全面地掌握。
  静态检测的缺点主要表现在对于软件内存错误的分析上,可能会产生较高的错误误报或者时漏报的不良后果。不利于对程序的错误作出全面的掌握。这给检测人员的检测工作带来了极大的不便,因此对于检测的精确度造成了重大影响。这对整个系统的稳定性是极为不利的。
  四、总结
  通过静态检测技术的应用,我们得出了一套研究程序中内存问题的基本方法,并通过对缓冲区溢出问题的有效分析,阐释出缓冲区溢出的原理以及相关解决方法。通过对此种技术的研究设计系统的检测方案,解决在应用程序中发现的内存错误问题。
  参考文献:
  [1]李肖坚,钟达夫,夏冰,唐懿芳.缓冲区溢出原理及植入代码的分析研究[J].计算机应用研究,2007(01).
  [2]张威,卢庆龄,李梅,宫云战.基于指针分析的内存泄露故障测试方法研究[J].计算机应用研究,2006(10).
  [3]张威,卢庆龄,万琳,肖庆.空指针引用故障模型与测试方法研究[J].计算机工程与应用,2006(04).
  作者简介:刘勇(1989-),汉族,江西抚州乐安县人,电控工程师,研究方向:嵌入式应用。
其他文献
一.股东知情权的立法背景公司股东之所以投资组建公司,其最终目的在于利用公司获得更大的投资收益,公司实质是股东借以谋求和实现自身利益的工具。股东对公司事务实施各项管理与
摘要:微机信号联锁控制技术是当前我国铁路行车指挥自动化的重要组成部分,其在我国铁路道岔信号联锁控制中有着重要的应用,能够有效地提高铁路道岔信号的可靠性,为此文章就微机联锁的构成、技术保证以及实际应用进行了相应的探讨。  关键词:微机控制;联锁控制;应用  一、微机联锁的组成部分  (一)硬件部分构成  微机联锁控制系统的硬件构成主要有S5系统、继电器柜、外部设备以及系统供电。首先,S5系统主要是控
一.WTO关于会计服务的规定在WTO框架下,会计服务是服务业贸易总协定(CATS)的一项重要内容。WTO服务贸易理事会专业服务工作组(WPPS)分别于1997年5月29日和1998年12月24日就会计服务
骨囊肿多发生于儿童及少年,成年人少见.在临床上易与骨内各种囊肿性疾病相混淆.我院收治7例均为成年人.报告如下.临床资料见附表.附表 7例临床资料表
摘 要:为了体现多媒体技术在中专物理教学中的关键作用,以及怎样将多媒体技术应用到中专物理教学当中,有效增加物理教学的品质。本课题对目前中专物理教学中应用多媒体技术时所出现的几点问题,进行了简要的分析。  关键词:教学;多媒体技术;中专;物理教学  1 多媒体技术在中专物理教学中的可用性  1.1 传统教学方法的过程和具有的缺陷  传统教学的方法是以老师、课本、课堂为核心的。基本的流程都是:第一,授
为了解陕西宝鸡地区正常新生儿血清锌、铜水平,为围产医学及婴幼儿保健提供监测及治疗依据,我们于1990年1~3月,随机抽测了宝鸡市区59例正常新生儿及78例2~6岁健康儿童的血清锌
企业雇主与雇员作为内部市场的供需双方,与岗位薪酬和竞争制度共同构成了内部劳动力市场的组成要素和运行机制。企业雇主与雇员双方作为理性经济人,两者的利益又存在不一致性,通
摘 要:基于Android智能手机的安全信息管理软件是一款任何人都能使用的App,是一款保护用户人身安全的软件能在用户遇到危险时及时通知联系人、及时报警以及在夜间时使用闪光灯进行自我保护的软件。  关键词:安卓;人参安全;自我保护;APP  1 绪论  由于近几年出现越来越多的人身安全事故,在独自一人时遇到危险无法向他人求救的情况,他就得不到帮助。虽然人们可以携带各种防身武器,但是携带武器出行很不
我院自1985年至1991年3月一期植人硅凝胶后房型人工晶体340例(国产晶体300例,进口晶体40例).年龄 3~81岁.大都取得满意效果,现将手术配合体会简述如下.一、手术适应症:老年性
工商企业在我国是指那些以盈利为目的,自主经营、自负盈亏,具有法人资格的独立核算的企业。许多管理者都希望在公司中实施有效的激励机制,来提高员工工作的积极性,从而提高整个公