c、c++中错误分析及程序调试

c、c++中错误分析及程序调试

ID:15387210

大小:459.00 KB

页数:9页

时间:2018-08-03

c、c++中错误分析及程序调试_第1页
c、c++中错误分析及程序调试_第2页
c、c++中错误分析及程序调试_第3页
c、c++中错误分析及程序调试_第4页
c、c++中错误分析及程序调试_第5页
资源描述:

《c、c++中错误分析及程序调试》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C语言程序的调试心得 写程序代码时,一般好不容易写完了,可就是编译通不过啊,都是错误急死人啊,都想放弃的,是不是啊?其实要有耐心和毅力的,好学的话都会了,您还有学的必要吗? 所谓程序调试是指对程序的查错和排错。 调试程序一般应经过以下几个步骤: 1先进行人工检查,即静态检查。在写好一个程序以后,不要匆匆忙忙上机,而应对纸面上的程序进行人工检查。这一步是十分重要的,它能发现程序设计人员由于疏忽而造成的多数错误。而这一步骤往往容易被人忽视。为了更有效地进行人工检查,所编的程序应注意力求做到以下几点:A、应当采用结构化程序方法编程,以增加可读性;B、并尽可能

2、多加注释,以帮助理解每段程序的作用;C、在编写复杂的程序时不要将全部语句都写在main函数中,而要多利用函数,用一个函数来实现一个单独的功能。这样既易于阅读也便于调试,便于分别检查和处理。 2在人工检查无误后,才可以上机调试。通过上机发现错误称动态检查。在编译时给出语法错误的信息,可以根据提示的信息具体找出程序中出错之处并改正之。应当注意的是有时提示的出错并不是真正出错的行,如果在提示出错的行上找不到错误的话应当到上一行再找。有时提示出错的类型并非绝对准确,由于出错的情况繁多各种错误互有关联,要善于分析,找出真正的错误,而不要只从字面意义上找出错信息,

3、钻牛角尖。 如果系统提示的出错信息多,应当从上到下一一改正。有时显示出一大片出错信息往往使人感到问题严重,无从下手。其实可能只有一二个错误。例如,对使用的变量未定义,编译时就会对所有含该变量的语句发出出错信息;有的是少了“}”或多了“}”有的是书写语句时忘记写“;”或是全角的“;”了,只要加上一个变量定义,或填加“};”就所有错误都消除了。养成写程序习惯,如输入“{”时,中间先不写代码,后面紧接输入”}”,就不会漏了或多了匹配符号。3在改正语法错误后,程序经过连接就得到可执行的目标程序。运行程序,输入程序所需数据,就可得到运行结果。应当对运行结果作分析

4、。看它是否符合要求。有的人看到运行结果就认为没问题了,就不作分析,这是不好的。 有时,数据比较复杂,难以立即判断结果是否正确。可以事先考虑好一批“试验数据”,输入这些数据可以得出容易判断正确与否的结果。例如,if语句有两个分支,有可能在流程经过其中一个分支时结果正确,而经过其它一个分支时结果不对等。必须考虑周全。 事实上,当程序复杂时很难把所有的可能方案全部都试到,选择典型的情况作试验即可。 4运行结果不对,大多属于逻辑错误。对这类错误往往需要仔细检查和分析才能发现。可以采用以下办法: A将程序与流程图仔细对照,如果流程图是正确的话,程序写错了,是很容

5、易发现的。例如,复合语句忘记写花括弧,只要一对照流程图就能很快发现。 B如果实在找不到错误,可以采用“分段检查”的方法。在程序不同的位置设几个printf函数语句,输出有关变量的值,往下检查。直到找到在哪一段中数据不对为止。这时就已经把错误局限在这一段中了。不断减小“查错区”,就可能发现错误所在。用printf函数语句测试未能发现所有问题,则可用系统提供的调试工具,跟踪流程并给出相应信息,使用更为方便。(下文介绍) 总之,程序调试是一项细致、较为繁琐的工作,需要下功夫,动脑子,善于累积经验。在程序调试过程中往往反映出一个人的学习态度,如果以前学习C语言

6、时基础不太好的同学也不要灰心,多写程序,“掌握调试的方法和技术”,要学会自己找问题,这样慢慢自己就会写出错误较少的实用的程序。C、C++中错误分析及程序调试若如现:文件存放目录问题程序调试方法介绍一、设置为了调试一个程序,首先必须使程序中包含调试信息。一般情况下,一个从AppWizard创建的工程中包含的DebugConfiguration自动包含调试信息,但是是不是Debug版本并不是程序包含调试信息的决定因素,程序设计者可以在任意的Configuration中增加调试信息。为了增加调试信息,可以按照下述步骤进行:◆打开Projectsettings

7、对话框(可以通过快捷键ALT+F7打开,也可以通过IDE菜单Project/Settings打开)◆选择C/C++页,Category中选择general,则出现一个DebugInfo下拉列表框,可供选择的调试信息方式包括: 命令行Projectsettings说明无None没有调试信息/ZdLineNumbersOnly目标文件或者可执行文件中只包含全局和导出符号以及代码行信息,不包含符号调试信息/Z7C7.0-Compatible目标文件或者可执行文件中包含行号和所有符号调试信息,包括变量名及类型,函数及原型等/ZiProgramDatabase创

8、建一个程序库(PDB),包括类型信息和符号调试信息。/ZIProgramDatabasefor

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。