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了。
最后一点,写代码记得写注释!