Set a Simple Breakpoint Condition

Menu:  [Right-Click the Breakpoint] -> Condition
Versions:  2008,2010
Published:  5/3/2010
Code:  vstipDebug0021




Did you know you can set Conditional Breakpoints?  They are arguably the most powerful among the types of Breakpoints you can set.  There are many layers to using them correctly and knowing is half the battle.


Let's start with the Breakpoint Condition dialog.  Notice that the condition can be turned off by unchecking the Condition checkbox.  Additionally, there are two options for the condition that you set:

"Is true" is used for Boolean expressions that evaluate to true or false. 

"Has changed" means what it says - if the expression changes then the code stops.




Suppose I have this "for" loop:




"Is true"

I can set a simple "Is true" condition that says when the variable "i" is greater than, say, 5 the code should stop:



When I run the code and the Breakpoint is hit, sure enough, it stops when the value of "i" is greater than 5:




"Has changed"

This one is more interesting.  Basically you set up something to watch.  In this case, I'll just have it watch the "i" variable:



When the Breakpoint is hit and the value of "i" has changed in in any way then the code stops:




Special Notes

Anytime you set an advanced Breakpoint you will get a new glyph:



You can always tell what kind of breakpoint you have by looking placing your mouse over the glyph and looking at the tooltip:



Or checking out the Breakpoints window:


Comments (5)

  1. Leo Davidson says:

    I don’t use these often but when I do I’m glad they’re there.

  2. Gene says:

    VBA has had this feature forever. It’s about time that VS finally caught up. Everything old is new again…

  3. zainnab says:

    Well, to be fair, this feature has been around for a bajillion years but it’s still one of the cooler ones.


  4. Adam says:

    Looks a great article – only the images are all missing.

    Opening one of the images in a new tab just gets you a 500 error.

    Can you fix please?

  5. zainnab says:

    Hey Adam,

    It looks like there was some kind of problem with the MSDN blogs. I'm looking into it to see if it was just my blog or something bigger.


Skip to main content