条件断点的设置和应用

来源:互联网 发布:怎么看淘宝是几心 编辑:程序博客网 时间:2024/06/04 18:10

转自:http://blog.csdn.net/bichenggui/archive/2009/09/02/4510529.aspx

什么是条件断点?

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

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

原创粉丝点击