- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
11_程序调试
付 宇
yfu@cauc.edu.cn
中国民航大学计算机学院 基础课部
第11部分 程序调试(P349)
1. 编译错误与警告
2. 链接错误
3. 运行错误
4. 逻辑错误
5. 程序调试
2010-4-21 Part11_程序调试/付 宇 2
概述
只有多编程,多调试,才能真正提高实际编程能力:
编程出错是普遍现象,即使是经验丰富的程序员,也无法避免错误。
程序投入使用前,都要经过反复测试,以发现错误并纠正错误。
程序调试需要在实践中积累经验,掌握技巧。
学会调试程序,是提高实际编程能力的重要保证。
调试:查找并纠正程序错误的过程。
C语言程序错误类型: 3类5种
a) 编译阶段:编译错误(error )编译警告(warning )
b) 连接阶段:链接错误
c) 运行阶段:运行错误和逻辑错误
2010-4-21 Part11_程序调试/付 宇 3
编译错误(Error)
编译时发现的错误,通常属于语法错误,即编写的语句
不符合C语言的语法规则。
这类错误必须修改,否则无法产生目标程序。
例子:
① 用了未定义的标识符(如变量名、函数名等);
② 语句后缺少分号或在不该有分号的地方加分号;
③ 括号不配对,包括圆括号、方括号和花括号;
④ 用中文的分号、逗号、等号代替英文的分号、逗号、等号
等。
⑤ 使用库函数,却未包含相应的头文件。
2010-4-21 Part11_程序调试/付 宇 4
编译错误(Error)
解决办法:
根据编译器给出的出错信息(出错行号及出错原因)较易定位 (中
用鼠标双击出错信息即可定位)和解决。
有时所给行号并非真正的出错行,需细看出错行前后的程序,才能
最终确定错误。
调试策略:
每次只修改第一个错误,改完后重新编译,直到没有编译错误为止。
原因:
后面出现的错误可能是由第一个错误引发的连环出错,实际并没有错误。
不会漏掉任何错误。
每次只面对一个错误,可以集中精力解决问题。
2010-4-21 Part11_程序调试/付 宇 5
编译警告(Warning)
编译时发现的、可能存在的潜错误,只是编译系统拿不准,
希望用户把关。
若用户置之不理,也可产生目标程序,但必然会将这些潜在错误
延伸到运行阶段暴露,即转化成运行错误或逻辑错误。
确定程序的运行错误和逻辑错误的出错位置要比确定编译警告的
出错位置难得多。
举例:
变量未初始化就做某种运算。
调试策略:
将编译警告看成编译错误,认真改正,直到警告全部消除为止。
2010-4-21 Par
文档评论(0)