条件断点的设置和应用

什么是条件断点?

 

条件断点就是带有一个条件表达式的断点,在调试中,只有这个条件表达式为真时,程序到达断点时,才会暂停。

而对于普通的断点,只要程序到达该断点是,就会暂停。这个条件表达式必须能被调试器识别和求值,,比如说在watch窗口里

可以识别和求值的变量同样也可以在条件表达式里被识别和求值。这大大方便了我们调试某些问题,比如说,你在循环体内设置了

一个断点(1000次循环),而这个bug在循环到999次时才发生,你可以通过条件断点来设置循环到999次然后暂停。利用普通的

断点你不能实现这一点。

 

如何设置条件断点?

 

1. VC 6.0: 

   如图,先在你要设定断点的位置设置好断点,然后按alt + F9,弹出breakpoints对话框,如下图所示。

 

 

 

 

    选中需要设置条件的断点,然后点击condition,然后就会出现break condition这个对话框,这个对话框就是设置条件断点的地方。

    从上到下有三个输入框:

    1.  输入一个表达式,当表达式的值发生变化时,断点会暂停,否则不暂停

    2、设定查看的数组或是结构的需要watch的个数

    3. 设置循环过多少次 才暂停。

 

这个例子中,设置循环999次后暂停,输入的值为999.注意,这个次数必须在合理范围内。否则就是失去了意义。

 

2. 对于VS2008:

   先设置断点,按alt + F9,或者是从菜单(Debug->Window->breakoints),选中需要设置条件的断点,按右键,选中condition,然后出现以下对话框: 

 

 

输入条件表达式,选中is true时,该条件表达式为true的时候,程序会break。

当选中has changed时,该表达式的值发生改变时,程序会break。

表达式可以是一个变量,也可以是一个常规表达式。(前提是可以被debugger识别和求值),可参照watch窗口。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值