欢迎来到天天文库
浏览记录
ID:51497460
大小:971.45 KB
页数:5页
时间:2020-03-25
《vc6调试入门教程.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、VC6调试入门教程虞铭财本文以OJ上957题简单计算为例介绍VC6的基本调试功能。题目在《程序设计基础2010》实验三分支结构中。希望大家把这个代码输入到vc中,跟着本教程多调试几遍,肯定可以掌握调试的基本技巧。文中如有错误,请指出,不胜感激!!已有代码如下提交到OJ上,判题结果为WA。虽然用题目的样例输入R1也能得到正确结果19。但题目中还存在逻辑错误。对于判题结果为WA的题目,首先大家需要去设计一些测试数据去测试你的程序,看看程序的输出结果是否正确(比对程序输出与自己手工计算结果是否一致),本题还可以设计测试数据
2、,如a1,正确结果应该为f(a)+1=0,但运行程序后结果如下说明对测试数据a1来说,程序给出了错误的结果。需要找出程序到底哪一行出现了问题。这个时候需要调试程序。调试程序的目的就是找出程序中的逻辑错误(希望大家都能明白语法错误和逻辑错误的区别)。调试的最基本方法主要如下:设置断点、单步执行程序、查看程序中的变量。1、设置断点从代码上看,显然1-6行是没有问题的。所以我们在第7行设置断点,如果大家不确定前面的代码是否有问题,可以在main函数的开始处设置断点。把光标移到第7行的行首,如图所示,光标会在第7行闪烁(图上
3、I字形所在位置)。然后在工具栏上点击调试按钮,或者按快捷键F9。这样就在第7行设置好了断点,如图第7行前面有一个红色的圆点。如果再次把光标移到第7行,然后点击调试按钮或者按F9,则取消断点。所以按钮或者F9的功能是插入或者删除断点。备注:断点的作用是使程序在调试的时候,运行到断点所在的行(但是尚未执行该行)的时候暂时把程序停下来,这样就可以程序运行到断点的时候查看变量的值。2、开始调试设置好断点后,点击工具栏上的开始调试按钮或者按快捷键F5就可以开始调试。开始调试后如图:大家可以发现在第7行有一个黄色的箭头,表示程序
4、执行到该行了(再次强调一下,该行的代码尚未执行)。备注:在开始调试后,需要注意如果断点行前有scanf()语句,需要先在程序运行窗口先按题目要求给定程序的输入。断点行本身就有scanf()(这个例子的断点行就有),则继续调试。3、单步执行开始调试程序后,程序运行到断点行暂停,这是我们可以查看程序中的变量值,也可以继续单步执行。在本例中我们先单步执行程序。点击工具栏上的单步执行按钮或者按快捷键F10可以让程序执行到下一行。但是本例中因为第7行有一条scanf()语句,按F10后大家会发现光标还是停留在第7行,这是因为程
5、序已经执行了第7行的命令,但是因为需要输入,所以在等待输入。这时我们切换到程序运行窗口(就是程序运行后,那个黑黑的窗口,^_^),输入程序需要的数据,本例中我们输入R1后按回车。如图:在切换到vc6的代码窗口,我们可以发现这时光标已经在第8行了,如图;4、查看变量程序执行到第8行后,我们可以查看变量的值了。在vc的默认布局下,在vc窗口的下方有watch窗口和variables窗口,如图左边的是variables窗口,该窗口中显示程序出现的一些变量及其值,右边的是watch窗口,在watch窗口中,可以添加需要查看的
6、变量。把鼠标移到这两个窗口的上方,当光标变成时,安装鼠标左键可以上下拖动来调整窗口的大小。在watch窗口中,点击名称下面的空白的地方,可以输入要查看的变量,本例查看x与y的值,分别添加x与y后,如图可以看到x的值为'R',y的值为1。备注:大家发现x的值比较奇怪,是82'R',这是因为x是char类型的,它的值为'R',同时前面的82是字符'R'的ASCII值。如果有不明白,请去找ASCII码相关资料。5、继续调试程序继续按F10,因为在x的值为'R'的时候,表达式的值为False,所以第8行的if语句判断条件为F
7、alse,第9到12行的代码不执行,程序直接执行到第13行,如图继续按F10,以为第13行的判定条件成立,所以程序执行到第15行(第14行只有花括号,直接跳过)。如图第15行的代码是计算f(x)的值,然后把f(x)的值再保存在变量x中。继续按F10,程序到第16行,这时我们发现watch窗口中x的发生变化了。如图x的值变为18(ASCII码值),通过自己手工计算,题目要求的f(R)的值正好是18,所以程序到目前为止依然都正确。继续按F10,F10,程序执行到第20行的时候,如图点击程序命令窗口,查看一下程序输出,如图
8、:本次调试结束,但是依然没有找出程序的逻辑错误。本次调试给出了正确结果,只能说明程序对于测试数据R1来说,给出了正确结果,不能保证所有的数据都给出正确结果,所以我们需要寻找新的测试数据来测试程序。6、停止调试按工具栏上的停止调试按钮或者按快捷键shifit+F5以停止调试。7、新的测试数据我们用新的测试数据a2来调试程序,步骤同上。和上面不同的
此文档下载收益归作者所有