#include<stdio.h>
int Maxnum(int a,int b)
{
if(a > b)
{
return a;
}
else
{
return a;
}
}
int main()
{
printf("%d\n",Maxnum(30,10));
printf("%d\n",Maxnum(5,10));
printf("%d\n",Maxnum(10,10));
}
例如写一个比较两个数大小的C程序,运行时没有警告和错误,但结果有问题,应当输出30,10,10,但输出的是30,5,10,说明程序中有隐藏的bug。进一步查看输出结果,是第二个输出有误。接下来通过使用调试找出问题所在。
1.鼠标左击第二个输出语句的左侧栏,出现一个红色的断点
2.点击上方菜单栏,绿色实心的三角符号启动调试(快捷键为F5)
3.在红色箭头处可看到监视1,如没有可在启动调试右侧找到,手动添加。绿色区域有三个部分,分别为自动窗口,局部变量,监视器1,。自动窗口与局部变量可方便看到,不用输入,固定。监视器为手动输入相应的变量,灵活性大,有多种选择。如此时输入a,b:
4. 在上侧菜单栏可看到逐语句(进入函数中的语句中查看),逐过程(进入函数中查看),跳出(跳出当前函数体)。
点击逐过程进入第一个输出语句中,再点击逐语句进入
此时a,b的值分别为30,10。再点击逐语句进入if语句中,a大于b,返回的为a,没有错误。再点击逐语句跳出此函数。
当再次进入主函数中,点击逐过程进入第二个输出语句,再点击逐语句进入
此时a,b的值分别为5,10,再点击逐语句进入if语句中,a小于b,返回的应当为b,但此时程序中返回为a,可知此处错误。修改为return b。再次进入第二个输出函数中进行逐语句的查看,可知程序正确。当熟练掌握调试时,程序中函数较多时,可以直接查看错误地方的问题,不需一一查看,如此例,直接进入第二个输出函数中查看语句中对应的相应值,发现问题所在,并修改。调试过程中,要尽可能的心细,耐心分析每一步的逻辑。
5.修改确认无误后,点击红色实心正方体停止调试(快捷键为shift + f5),再点击左侧断点之后取消断点。
6.调试之后之前的bug解决,但可能出现新的bug,再按上述调试方法进行调试。熟练掌握调试后,可以对自己所敲程序的错误之处进行修改。