一、调试前的准备
1.把代码文件放到工程里。
在CodeBlocks直接新建的源代码文件是不能调试的,只有放到工程里才可以,所以必须要新建一个工程(具体操作见“CodeBlocks的一朵奇葩:新建工程”一文)。
2.新建的工程在电脑中的存放路径和工程名都不能含有中文、空格,不然会出现调试异常。
3.打开Watches窗口。点击菜单栏【Debug】→【Debugging windows】→【Watches】(更高效的方法是从调试工具栏打开,请读者自行摸索),弹出Watches窗口。该窗口用于在调试过程中显示各个变量的实时值。
二、调试的一般步骤
1. 设置断点
调试的第一步是设置断点,设置断点的目的就是让程序先在断点那停住,从那里开始往下检查毛病出在哪。
设置断点很简单,左键点击想要设置断点的代码行左侧图示位置即可。点击后出现个鬼子国旗一样的红点,这表示断头台准备好了。
2. 让程序跳转至断点位置
点击工具栏的调试按钮(快捷键F8,也可以点击菜单栏【Debug】→【Start/Continue】)。
程序跳转到断点位置,不再继续向下执行。这时候鬼子的国旗上多了一个黄色三角裤,象征着他们的支柱产业。
这个位置就是调试的起点。
3. 从断点开始整活
设置断点的目的就是从这里开始检查,总不能让程序一直停在这里吧,所以要让程序往下运行,看看哪步出了问题。
一般用得最多的就是一行一行的往下执行,快捷键F7,或者点调试工具栏下面这个按钮。
上面工具栏中带有黄色箭头的按钮代表着程序的不同执行方式,感兴趣的可以体验一下他们功能的不同。
三、常见调试技巧和注意事
1. 跳出循环
当单步执行到循环体内部时,可能执行一两个循环就已经把程序搞明白了,如果此时一直按next line一行一行地执行直到所有循环结束那就太让人恼火了。
要直接跳出循环,有两个方法:
(1)推荐方法:在循环体之外再增加一个断点,再按F8(Start/Continue)可直接让程序运行到这个断点。
(2)把光标定位在循环之外,然后按F4(Run to cursor),让程序直接运行到光标处。
2. 消失的黄色三角裤
当单步执行时,黄色的三角裤突然消失了,怎么按F7也没反应,这是什么情况呢?
这个问题初学者会经常遇到,往往遇到时会一头雾水,但其实原因很简单,就是程序执行到输入语句,卡在那儿等待用户输入,所以要在那个黑窗口里输入数据才可以继续执行。
3. 手动添加需要观察的值
在watches窗口,也可以手动添加需要观察的变量,如数组内的某个值。