码迷,mamicode.com
首页 > 其他好文 > 详细

VC6中的断点调试

时间:2014-09-21 19:57:41      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   使用   ar   for   2014   

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

        【位置断点】就是在指定的行设置断点。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)所示:

bubuko.com,布布扣

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

bubuko.com,布布扣

图(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)有错误。

bubuko.com,布布扣

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

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

VC6中的断点调试

标签:style   blog   http   color   io   使用   ar   for   2014   

原文地址:http://blog.csdn.net/sanqima/article/details/39453499

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!