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”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sanqima

一键三连,多多益善

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值