Menu: [Right-Click the Breakpoint] -> Condition
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:
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:
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:
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: