首页 > 代码库 > VC6中的断点调试

VC6中的断点调试

        程序经常出现循环语句,而循环语句的调试是复杂的。可以使用【位置断点】来解决这个问题。

        【位置断点】就是在指定的行设置断点。F9即可设置当前行的断点。再按Ctrl+B --》选中"at { xxx.cpp}"--》Codition---》在skip编辑框里输入相应的循环次数即可。具体如下。

        例如,在一个循环的过程中可能出现异常,就可以使用位置断点,如下:

#include <stdio.h>
void main()
{
	int sum=0;
	int n=15;
	for (int i=1;i<=100;i++)
	{
		sum += i;
		int k=sum;
		k/=(sum-n);
	}
	printf("sum=%d\n",sum);
	
}

    上面的代码执行时,在for循环中会出现异常。由于该循环的次数很多,不能简单地使用【单步调试】。为了加快调试,可在 sum + = i; 这一行添加一个断点,F9即可,

然后,按【Ctrl + B】快捷键,弹出“Breakpoints”窗口,选择断点--》Condition--》在“skip”编辑框里输入循环的最大次数,比如 100.--》OK,如图(1)、图(2)所示:


图(1)选中“at {}”--》Condition


图(2)输入循环次数

       位置断点设置完成后,按F5进入调试状态,此时程序会报错,不着急,关闭“报错的对话框”。按【Ctrl + B】打开“Breakpoints”窗口,在“at . cpp xxx times”这一栏,发现“95 remaining”表明该循环有95次循环未执行,即该循环执行了100-95=5,此时,sum=5*(1+5)/2 = 15,那么 sum-n=0,说明,除数为0,即 k/ = (sum-n)有错误。


图(3)Ctrl+B --》查看“没循环”的次数

   修改方法:把n的值由15改为2,即 “ int n=2”

VC6中的断点调试