软件调试与调试方法_徐龙伟精选.pptx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件调试与调试方法_徐龙伟精选

软件工程第二次研讨 第五组 徐龙伟研讨题目 讨论:调试以及调试方法 调试 软件调试,也叫纠错或排错,是孤立并纠正错误的一种技巧性过程。是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。这是保证计算机信息系统正确性的必不可少的步骤。 但由于排错是所用的方法与时间都不能提前确定,某种程度上也要靠直觉与经验,目前为止,调试还没有一套经得起检验的完整而系统的理论方法。所以通常认为调试是十分困难的,是软件工程中最为艰巨的一种脑力劳动,下面给出调试的一些技巧与方法。 调试的步骤 第一步,用编辑程序把编制的源程序按照一定的书写格式送到计算机中,编辑程序会根据使用人员的意图对源程序进行增、删或修改。 第二步,把送入的源程序翻译成机器语言,即用编译程序对源程序进行语法检查并将符合语法规则的源程序语句翻译成计算机能识别的“语言”。如果经编译程序检查,发现有语法错误,那就必须用编辑程序来修改源程序中的语法错误,然后再编译,直至没有语法错误为止。 调试的步骤(二) 第三步,使用计算机中的连接程序,把翻译好的计算机语言程序连接起来,并扶植成一个计算机能真正运行的程序。在连接过程中,一般不会出现连接错误,如果出现了连接错误,说明源程序中存在子程序的调用混乱或参数传递错误等问题。这时又要用编辑程序对源程序进行修改,再进行编译和连接,如此反复进行,直至没有连接错误为止。 第四步,将修改后的程序进行试算,这时可以假设几个模拟数据去试运行,并把输出结果与手工处理的正确结果相比较。如有差异,就表明计算机的程序存在有逻辑错误。如果程序不大,可以用人工方法去模拟计算机对源程序的这几个数据进行修改处理;如果程序比较大,人工模拟显然行不通,这时只能将计算机设置成单步执行的方式,一步步跟踪程序的运行。一旦找到问题所在,仍然要用编辑程序来修改源程序,接着仍要编译、连接和执行,直至无逻辑错误为止。也可以在完成后再进行编译。 调试的原则 一,用头脑去分析思考与错误征兆有关的信息。 二,避开死胡同。 三,只把调试工具当做手段。利用调试工具,可以帮助思考,但不能代替思考,因为调试工具给的是一种无规律的调试方法。 四,避免用试探法,最多只能把它当做最后手段。 五,再出现错误的地方,可能还有别的错误。 调试的原则(二) 六,修改错误的一个常见失误是只修改了这个错误的征兆或这个错误的表现,而没有修改错误本身。如果提出的修改不能解释与这个错误有关的全部线索,那就表明只修改了错误的一部分。 七,注意修正一个错误的同时可能会引入新的错误。 八,修改错误的过程将迫使人们暂时回到程序设计阶段。修改错误也是程序设计的一种形式。 九,修改源代码程序,不要改变目标代码。 调试的方法 一,简单调试方法:步骤 1,在程序中插入打印语句、优点是能够显示程序的动态过程,比较容易检查源程序的有关信息。确定是效率低,可能输入大量无关的数据,发现错误带有偶然性。 2,运行部分程序。有时为了测试某些被怀疑有错的程序段,却将整个程序反复执行许多次,在这种情况下,应设法使被测程序只执行需要检查的程序段,以提高效率。 3,借助调试工具。目前大多数程序设计语言都有专门的调试工具,可以用这些工具来分析程序的动态行为。 调试的方法(二) 二,归纳法排错。是一种系统化的思考方法,是从个别推断全体的方法,这种方法从线索(错误征兆出发),通过分析这些线索之间的关系找出故障。主要有4步: (1)收集有关数据。收集测试用例,弄清测试用例观察到哪些错误征兆,以及在什么情况下出现错误等信息。 (2)组织数据。整理分析数据,以便发现规律,即什么条件下出现错误,什么条件下不出现错误。 (3)导出假设。分析研究线索之间的关系,力求找出它们的规律,从而提出关于错误的一个或多个假设,如果无法做出假设,则应设计并执行更多的测试用例,以便获得更多的数据。 (4)证明假设。假设不等于事实,证明假设的合理性是极其重要的,不经证明就根据假设排除错误,往往只能消除错误的征兆或只能改正部分错误。证明假设的方法是用它解释所有原始的测试结果,如果能圆满地解释一切现象,则假设得到证明,否则要么是假设不成立或不完备,要么是有多个错误同时存在。 调试的方法(三) 三,回溯法排错。确定最先发现错误症状的地方,人工沿程序的控制流往回追踪源程序代码,直到找到错误或范围。 四,演绎法排错。设想可能的原因,用已有的数据排除不正确的假设,精化并证明余下的假设。 五、对分查找法。如果知道每个变量子啊程序内若干个关键点上的正确值,则可用赋值语句或输入语句在程序中的关键点附近“注入”这些变量的正确值,然后检查程序的输出。如果输出结果是正确的,则表示错误发生在前半部分,否则,不妨认为错误在后半部分。这样反复进行多次,逐渐逼近错误

文档评论(0)

pfenejiarz + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档