如何调试程序

如何调试程序

ID:42866120

大小:199.00 KB

页数:11页

时间:2019-09-24

如何调试程序_第1页
如何调试程序_第2页
如何调试程序_第3页
如何调试程序_第4页
如何调试程序_第5页
资源描述:

《如何调试程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、调试程序为什么要调试程序程序一般不会一次运行就成功,几乎总包含一些错误。词法、语法方面的错误在编译时就可以发现并加以改正,而一些语义上的错误就难以发现,所以常常出现运行结果不正确甚至产生不了结果的情况,这就需要对程序进行跟踪调试以发现并改正错误。现在所有的高级语言都有一个积编辑、编译、运行、调试功能为一体的集成环境。。程序开发过程中的错误类型(1)程序开发过程的各个阶段都可能发生错误,可以将程序设计中的错误分成五类:第一类,编译期错误。这是指在程序的编译过程中由编译程序识别或检查出来的错误,常称之为“语法错误”。诸如不符合规定的语句格式、对象说明与使用不一致

2、、不正确的分隔符、不存在的标号、不正确的初始化数据、不恰当的循环嵌套等等。在编译期发现一个错误后,编译工作并不立即停止,而是尽可能多地找出源程序中的全部错误。第二类,连接错误。这是指连接程序在装配目标程序时发现的错误,通常由于函数名书写错误、缺少包含文件或包含文件的路径错误等原因引起的。第三类,运行期错误。这是指可执行程序执行过程中发现的错误。如在计算过程中遇到了除数为零的错误、求一个负数的平方根等等。编译系统发现这类错误后如无特殊指示通常告知一些适当信息,然后立即停止程序的执行。当然,为阻止这类错误的出现,程序设计者可在程序中编入一些由自己来检查这类错误的

3、程序段,这可能更适合于自己的处理要求。程序开发过程中的错误类型(2)第四类,逻辑性错误。这类错误是在编译期、连接期和运行期都不能发现的错误。如程序中把log写成了log10,把x+y写成了x-y等。显然编译系统是无法查出这类错误的。第五类,警告性错误。这类错误是指编译系统在编译阶段发现程序中有一些可疑的或含混不清的地方,如源程序中发现了一个定义过但从未使用过的变量。这类情况从语法上讲是正确的,因此一般不会停止编译,在大多数情况下不会阻止目标程序与可执行程序的生成、连接和运行。但是对这类错误不应掉以轻心,应仔细检查程序,这往往存在着某种潜在的运行期错误。排错是

4、非常困难的,有可能花费很长的时间。程序设计的目标应该是避免出现太多的问题。对减少排错能有所帮助的技术包括:好的设计、好的风格、边界条件测试、合理性检查、限制全局数据等等。在程序中经常会出现的错误(1)输入数据时一般变量名前面没有&(2)输入字符串时字符数组名就表示地址,不需要再加&(3)输入数据尤其是从文件中输入数据时数据输入的格式必须严格与输入的数据格式一致。如输入数据12ABCx34,则输入格式应该为“%d%s%c%d”,而不能是“%d%s%c%d”。(4)使用数组时密切注意不要越界(5)不要使用悬空的指针。即定义了指针*p,如果没有给p赋过值,应当理解

5、为p不指向任何地方,不能使用*p。(6)注意结构体类型变量和指向结构体变量的指针的使用方法是不同的。(7)注意变量的作用域(使用范围),注意参数的传递形式。最基本的方法添加printf函数输出一些中间结果和程序运行中的中间数据。根据错误的结果去推断那里出了问题,程序哪个有问题,比较我们想要得到的结果和程序执行出来的错误结果之间的差异。1.跟踪(很重要的调试方法)跟踪调试是一种有效的调试程序的方法,是一种通过人工控制程序执行过程,比对主观和客观的程序执行过程和中间结果以发现和改正错误的调试程序的方法。跟踪:本质上就是让程序一行一行的执行。或者按照我们的要求执行

6、若干行。2.设置断点断点:程序执行到当前这一行,停止执行,这样的位置就叫做断点。使用VC调试程序1.跟踪:VC里按F10、F11进行程序跟踪,跟踪的时候,可以观察变量的变化情况。2.设置断点:在VC里用F9,设置后那一行程序前会有一个小圆圈。vc下的调试快捷键调试操作快捷键在当前行设置或者撤消断点F9启动程序执行或者从当前语句开始恢复程序执行F5从头开始启动执行程序Ctrl+shift+F5执行下一语句,包括函数中的语句(步入)F11执行下一语句,跳过函数中的语句(步越)F10运行程序直到当前函数外第一语句shift+F11运行程序并在插入点处停止(执行至光

7、标位置)Ctrl+F10直接跳到插入点(光标)处,不执行中间的语句Ctrl+shift+F10结束调试shift+F5调试操作快捷键在当前行设置或者撤消断点F9启动程序执行或者从当前语句开发恢复程序执行F5从头开始启动执行程序Ctrl+shift+F5执行下一语句,包括函数中的语句(步入)F11执行下一语句,跳过函数中的语句(步越)F10运行程序直到当前函数外第一语句shift+F11运行程序并在断点处停止Ctrl+F10直接跳到下一个断点处,不执行中间的语句Ctrl+shift+F10

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

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

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