计算机控制系统软件调试验证及其工具和技术的研究

上传人:206****923 文档编号:91531898 上传时间:2019-06-29 格式:DOC 页数:6 大小:40.52KB
返回 下载 相关 举报
计算机控制系统软件调试验证及其工具和技术的研究_第1页
第1页 / 共6页
计算机控制系统软件调试验证及其工具和技术的研究_第2页
第2页 / 共6页
计算机控制系统软件调试验证及其工具和技术的研究_第3页
第3页 / 共6页
计算机控制系统软件调试验证及其工具和技术的研究_第4页
第4页 / 共6页
计算机控制系统软件调试验证及其工具和技术的研究_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《计算机控制系统软件调试验证及其工具和技术的研究》由会员分享,可在线阅读,更多相关《计算机控制系统软件调试验证及其工具和技术的研究(6页珍藏版)》请在金锄头文库上搜索。

1、计算机控制系统软件调试验证及其工具和技术的研究题 目:计算机控制系统软件调试验证及其工具和技术的研究姓 名: 学 号: 指导教师: 完成日期: 2010.6.17 计算机控制系统软件调试验证及其工具和技术的研究摘要:本文将计算机控制系统软件程序的设计工作划分为三个阶段,并分别介绍了各阶段程序调试的相关技术及工具,分析了它们各自的特点及注意事项,有些还说明了它们的适用范围。关键词:软件程序 调试 验证 技术 工具 1 引 言软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合;程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文

2、档是与程序开发,维护和使用有关的图文材料。计算机控制软件是计算机控制系统中非常重要的部分。程序调试,在职业程序员之中有一个专门的名称: “捉虫(bug)”。对每个程序设计者而言,“捉虫”都将是一个极为棘手并且费时的事情,然而,这也是要深入下去编写更为复杂程序所必须掌握的技巧,所以,了解一些常用的调试技术,能使我们的行为更明确,工作更有效。在此我将程序调试技术按所属时间划分为三个阶段,总结了目前各个阶段程序调试的有关技术并做了简要介绍。2 源程序编制前相关技术由源程序编制到生成可执行程序,是一个严密的过程,任何一个环节的错误都会导致最终的失败或是给以后的工作带来诸多不便,所以每个阶段的工作都可以

3、称调试的一部分。源程序编制之前的工作是整个编程工作的开端,包括需求的分析、算法的制定、了解编程语言和编程环境、了解各种工具的使用以及准备必要的文档资料等。它直接影响着我们后期工作的执行情况,所以起着至关重要的作用。2.1 需求分析和描述算法对需求的分析,要保证我们的理解是全面而又正确的。如果程序的要求模糊不清,规格要求不够明确,甚至对其要实现的功能也是不明确的,这些让软件设计者也不敢确定软件应该怎样运行才是正确的,因而在此基础上编制出来软件当然是不理智的。所以在程序设计之前,一定要对其需求做一深入的调查,你可以与用户(包括你自己)多多交流,在了解各种信息的基础上,引出程序的说明文档,确信用户的

4、要求被正确的描述。这样做可能比程序调试本身更重要,因为当说明不清楚的时候,不同的设计者(工作在不同的时间段,或者没有密切的联系),将会实现不同的语义。因为这个原因而导致的错误很难纠正。算法是程序的灵魂,为了使程序能正确执行,我们在此关注的重点不是算法的好与坏,而是算法的严密性。如果设计者仅凭自己的想象,是很难保证程序不会出现漏洞的,最好的方法莫过于把整个过程用某种明确的方法描述出来,在这个方面,程序流程图能直观、形象地表明我们的设计思想和目的,为程序员指明方向和目标。对于一个大而复杂的程序设计,流程图描述了我们的明确的思路和严密的逻辑,使编制完成的程序在这方面的错误大大减少,从而使调试变得简单

5、易行,也节约了大量时间。但要注意的是:过于具体的描述是不必要的,因为这样便体现不出总体的方向,所以其指导性就不强。任何工作都是由简到繁的过程,首先我们应制定出总体计划,然后才去考虑其中的具体细节实现问题,流程图的编制也是这样一个过程,当我们不断完善其细节时,便得到了整个程序的实现。2.2 了解工作环境、工具和准备文档即使你是在学习其它专业的知识,你也会发现我们对所学知识的理解不要求细致入微,每个细节的具体实现也可以不做深究,但是却要求我们的知识必须是全面的,对总体过程的理解是正确无误的。否则,一旦出现某个错误的认识就足以导致前功尽弃,因此,我们要熟悉其所提供的编程语言和调试工具,并对我们的工作

6、环境有一个全面而正确的了解,这是一切工作的前提和保证。一个程序设计者需要掌握有关于他工作环境的广泛知识,就要学会怎样有效地使用和检索资料,确信你已经准备好了相关的资料和帮助文档。但是一个庞大的编程工具,我们也许只需运用其中的一部分技术,比如现在的操作系统和应用程序接口有成百上千知识点,你大可不必全部了解他们,但是你应该能够很快找到和理解他们。3软件程序编制阶段的相关技术及工具软件程序由最初的算法制定到具体用某种编程语言(C语言汇编语言等编程工具)的实现,是一个至关重要的环节,也是问题出现比较频繁的阶段,所幸的是目前为止这方面的经验比较丰富,又有很多程序设计者做了专门的研究和总结,因而发展出了一

7、些比较成熟的技术,在此做一简要介绍。3.1书写规范和注释语句每一个程序设计者都应该养成良好的源程序书写格式,它不但让程序文档看起来清新整齐,而且当你使用较好的变量命名方案和添加必要的注释语句,可以使我们的程序更加易于理解和阅读,为以后的修改和找出错误提供了极大的便利。其中著名的变量命名约定叫匈牙利表示法(Hungarian notation,因Microsoft 程序员Clarles Simonyi的国籍而得名)。匈牙利表示法提供了一组前缀字符,以用它们可以看出每个变量的含义,很方便自己和他人阅读。所谓注释语句是在源程序之中加入的用于解释说明源程序的文档部分,它有助于向编程者及使用或阅读程序的

8、人说明程序的工作过程。使用注释语句,首先可明确目前的工作目的,比如我们可以让计算机打印出一句话,提示用户输入两个变量的值,这样程序运行起来就明确的多。可惜有的人不注意这些,认为自己心里知道每步工作该做什么,这只能对于很小的程序并且在当时而言是可以的,情况稍加改变,就不能这样了,因此,应对程序中的注释语句加以重视;其次,它有助于对源程序的阅读理解。在重点处加以注释,可大大增强源程序的可读性,从而使我们马上找出问题所在,调试工作就会容易得多。但也应注意,注释并非“多多亦善”,过多的注释只会带来混乱,所以,添加注释时要注意原则,只在必要时才添加注释。3.2模拟计算机的工作过程当我们经过各种方法仍发现

9、不了错误所在时,便不自觉地想知道每个语句执行的情况,于是我们就会在自己的大脑中逐步运行所编制的程序,并用笔记录下每个语句的执行结果,这应便可以仔细地研究程序,详细检查每一个步骤和计算过程。如果错误是我们对程序执行的过程有所误解而造成的,通过这种方法就可以对具体过程有一个明确地了解,因而错误一旦发现,很容易得到纠正。但是这种技术有一个缺点,就是在遇到循环次数比较多或者语句比较多的时候,用起来比较费时。3.3 断点法为了克服“模拟计算机的工作过程”所述技术的不足,我们介绍一种新的也是常用的调试方法断点法。所谓断点法,就是在程序执行到某一行的时候,计算机自动停止运行,并保留这时各变量的状态,方便我们

10、检查,校对。断点法的优点在于,我们可以利用打印输出的各种中间结果,分析得出错误的位置所在,它方便我们判断某个语句有没有执行或者是不是在正确的时刻执行,因为有时程序由于人为的疏忽,可能在循环或者递归时出现我们无法预料混乱,这时候通过断点法,我们就能够判断程序是不是依照我们预期的顺序执行。实际中应根据需要断点的位置以及我们要显示的变量,要注意的是,一次显示的信息不可过多,用分别打印处理的办法比较好;同时,我们要对当前显示的信息进行分析,从而决定下次需要的信息,这样每次做出适当的调整,不断缩小检查的范围。3.4 控制计算机执行方式控制计算机执行方式,即强制计算机按照我们的需要执行,采用强制技术的含义

11、是:使用尽可能少、且数值尽可能简单的输入参数,在特意安排的条件下调试程序,实际就是试图强迫程序按预定的方式执行,以便能很有把握地预计到应该产生的结果。强制技术的关键在于对问题的简化。强制执行过程产生的结果与预期结果之间差异的性质和程度,就是识别错误的线索,它的价值也正在与此。该技术特别适合于数学计算比较多的程序,在实际使用过程中,有两点需要注意:(1)选择输入数据。我们的原则应是使测试的问题尽可能简单,比如数据可取0或1。(2)控制执行路径。当程序有多个执行路径时,我们必须保证其沿每条路径的运行都是正确的,因此,此时不但要求结果正确,还会要求程序按规定的路径执行下去,这样也要求调试人员知道程序

12、中有多少条路径,并懂得怎样才能使程序按某一路径执行,而不会进入其他路径。3.5程序编制调试验证工具1、C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。2、汇编语言(AssemblyL

13、anguage)是面向机器的程序设计语言。在汇编语合中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。3、其他语言等。4 程序编制后相关技术有些程序的错误是隐藏在程序中的“定时炸弹”,虽然最初测试时能够按照我们的要求正确无误的执行,但是它也不免存在漏洞(bug),

14、只是要在特定的条件下在会出现,因而比较隐蔽,不易被发现。所以要建立良好的用户反馈机制,及时发现程序存在的漏洞并将其修正。另外,每次完成一个程序的编制工作,程序设计者都应该完成收尾和总结任务,主要是做与程序有关资料的整理,合理的将其分类并保存,当今后需要修改时可以立即得到各种相关资料和说明,为调试和使用提供很大方便。每一次的编程经历都会有不同的收获,正如人们所言“没有总结便没有提高”,程序设计者应该把每次的经验和体会做一件短的总结,不断积累和改进自己的程序调试技术,使自己在这一领域有更深的领会和研究。5结束语以上介绍了计算机控制系统软件程序调试验证的常用技术和工具,可以看出,每种技术和工具都各有

15、自己的特点,我们还对各种技术划分了其适用的阶段。在一般的调试工作中,每种技术都将发挥一定的作用,只用一种技术而排斥其他各种技术,不是最有效的方法。我们应该根据具体情况,合理地使用各种工具,尽可能的提高效率完成调试工作。此外,如今的程序设计语言基本上都提供了各种调试功能,其实质便是上述技术的综合体现,所以熟练地使用他们,会得到事半功倍的效果! 计算机控制系统软件程序调试及验证是一个艰苦的过程,每一个程序员不但要掌握相关的调试技术和熟悉运用工具,还要对自己充满信心,对从事软件程序调试这一工作怀有无比的自豪感;要有耐心,绝不可以轻易对困难低头,同时也要虚心向专家们学习。“兴趣是最好的老师”,如果再怀着对编程的极大兴趣和热爱之情,相信每个人都可以成为优秀的计算机控制系统软件程序设计者。参考文献:1 潘金平,软件开发技术,上海科学技术文献出版;2 R.C.布鲁斯美, 微型计算机的软件调试技术,国防工业出版社,1984,63-94,115-134 ;3 陈立潮等,BASIC语言程序调试技术; 4 于海生 编著计算机控制技术 机械工业出版社 2007-6-16

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号