编程中如何使用调试

#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. 在上侧菜单栏可看到逐语句(进入函数中的语句中查看),逐过程(进入函数中查看),跳出(跳出当前函数体)。



点击逐过程进入第一个输出语句中,再点击逐语句进入

此时ab的值分别为30,10。再点击逐语句进入if语句中,a大于b,返回的为a,没有错误。再点击逐语句跳出此函数。

当再次进入主函数中,点击逐过程进入第二个输出语句,再点击逐语句进入

此时ab的值分别为5,10,再点击逐语句进入if语句中,a小于b,返回的应当为b,但此时程序中返回为a,可知此处错误。修改为return b。再次进入第二个输出函数中进行逐语句的查看,可知程序正确。当熟练掌握调试时,程序中函数较多时,可以直接查看错误地方的问题,不需一一查看,如此例,直接进入第二个输出函数中查看语句中对应的相应值,发现问题所在,并修改。调试过程中,要尽可能的心细,耐心分析每一步的逻辑。

5.修改确认无误后,点击红色实心正方体停止调试(快捷键为shift + f5),再点击左侧断点之后取消断点。

6.调试之后之前的bug解决,但可能出现新的bug,再按上述调试方法进行调试。熟练掌握调试后,可以对自己所敲程序的错误之处进行修改。

猜你喜欢

转载自blog.csdn.net/tuji67/article/details/80381157