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

VS2010条件断点

时间:2015-05-19 01:57:12      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

条件成立触发断点

设置条件断点的方法很随意,根据个人的调试习惯设置。可以设置普通的断点,然后右击该断点,选择条件,设置这个断点的条件;当然开可以只设置一个普通的断点,然后当程序运行到了这个断点的时候,右击该断点,选择条件,增加该断点的条件,然后点击继续(f5),这样程序就会继续往下执行,直到满足设置的条件时再次的停顿下来。

技术分享

内存改变触发断点

有时候想知道一个指针什么时候被改变了,可以用这种方法。其实这种断点被称为数据断点,当程序处于调试的状态下,就可以新建一个数据断点,给一个内存地址,然后f5(继续)。当给的地址对应的内存空间中的数据发生变化的时候,就会产生中断。在非调试状态下是不能设置数据断点的。

技术分享

看下面的程序,我要跟踪指针g_p的动态,只要这个指针指向的对象换成了其它的别的对象就中断(注意:这里不是指针指向的对象的内容改变,而是指向了另外的其它对象)。所以我们要跟踪的内存是g_p这个指针变量的物理存储空间(指针变量本身存放的内存地址),它的地址就是&p_g,注意不是p_g。

#include <stdio.h>

int *g_p = 0;
int g_nNum1 = 20;
int g_nNum2 = 30;

void Fun()
{
	g_p = &g_nNum2;
}

void main()
{
	int nTemp = 0;

	g_p = &g_nNum1;
	g_nNum1 = 90;

	nTemp++;
	Fun();
	nTemp++;
}

  技术分享

这样再f5(继续),当指针改变的时候,就会触发断点了。如下图:

技术分享

 

VS2010条件断点

标签:

原文地址:http://www.cnblogs.com/stemon/p/4513479.html

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