c语言新手找bug的基本方法

1 调试技巧:

1 代码短:

当某个输出的值不符合你的预期时,想找错误怎么办?如果肉眼看不出来,那我们不妨看看它值每一步的变化情况。

首先我们应该先找到监视窗口来监视其值,先教大家如何打开监视窗口。

首先开始调试,座机是按F10,笔记本的话按住FN再按F10,然后

左上角点开调试。

调试里面有个窗口,点击里面有监视,点一下监视的二级菜单,然后会出现这个画面。

我们可以把想查看的值填在监视窗口里的方框内,也可以监视数组。

当你想监视某个函数时,按F10调试到该函数的时候,按F11可进入函数内部查看。

例如add函数,此时按F11即可进入函数查看了。

如果想查看函数地址也很简单,在窗口里有个内存,点一下二级菜单就好。

前8个数字为储存一个数字的地址,例如下图。令a=1,b=0看看地址。

输入取地址a的结果,显然a=1,最后面的那些乱码不用管,本来就是那样的。地址以16进制进行存储,一个int占4个字节(有的16位编译器是2个),小端从低地址向高地址,此处a的地址为0x01 00 00 00,来表示a的值为1,因为是16进制,因此一个数可以拆成4个二进制,也就是4个位,因此01就为8位,01 00 00 00就为4*8=32位,所以也证实了一个int占4个字节,一个字节是8位。

2 代码长:

代码长的话,可以用F9设置断点(前提保证断点之前的代码全部正确),这样编译器会执行到断点前,此时再结合F10和F11进行调试来找错误。如下图。

这样代码就会执行到第九行后停止,此时开始调试,结合F10,F11。

2 自己找错意识培养:

当你写完一大段代码,输出的值与你想的不符合时,试着给代码加一些东西来使程序运行可视化。看看下面案例。

当时输出位置时,第一行输入的值总是无效的,因此在输出端加一个打印函数,使其中的变化可视化,可以清晰的看到为什么输出不了,因为输入y=1时,实际给代码传递的是y=0,从此开始找和y有关系的问题,看看是否在前面代码中,对y的值给的不到位或者哪里不小心对y-1了。

最后一点,写代码记得写注释!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值