Conditional Breakpoint
This version of the documentation page applies to Visual Studio prior to VS2015 and to all versions of Atmel Studio.
Read documentation page for Visual Studio 2015
here.
What Conditional Breakpoints Can be Used For
You can specify, which information from your program (values of variables
etc.) shall be transmitted to Visual Micro when the breakpoint is hit.
This can be a fixed text as well as values of variables. You can also change the
variable's values on your PC and then can instruct the board to continue
executing while using the new variable value.
After making changes to your breakpoint
as shown here, you
must recompile and upload your sketch in order for the changes to go into
effect.
How to Create a Conditional Breakpoint
Read on the general Breakpoints documentation page on how to set breakpoints.
To make a breakpoint conditional, right click the
marker of an existing breakpoint at the left of your code and choose "Condition...":
The following window appears:
Check the
checkbox. In the text field below, enter a condition. This can be a variable
like "i" or an expression like "i > 30". You can use all variables that are
available at that location in your code.
Choose either "Is true" or "Has changed".
- With "Is true", the breakpoint will become effective
if the condition is true, in this case, if 'i' is greater than 30.
- With "Has changed", the breakpoint will become effective
if the given expression's result has changed since the last time the
breakpoint was passed.
A condition can as well be quite complex like "(i > 30 || rectangle.width > 100) && k+l < m".
You can even make function calls in the condition: "i > getRectangleWidth()"
The condition remains effective even if you uncheck the
condition checkbox
.
This is due to a limitation in the underlying Microsoft Visual Studio IDE. To
remove the condition, simply enter a condition that is always true like "1",
or delete the breakpoint and set a new one at the same location.