Breakpoints
All breakpoints defined in your solution appear in the left-hand part of the dialog. They are grouped by their type — line breakpoints, method breakpoints, and exception breakpoints.
In the right-hand part of the dialog, you can configure the options of the selected breakpoint as well as preview the code context of the selected line breakpoint.
Breakpoints list toolbar
Item | Tooltip and shortcut | Description |
---|---|---|
Add Breakpoint Alt+Insert | Use this button to add new exception breakpoints and method breakpoints. Note that line breakpoints can be only set from the editor. | |
Remove Breakpoint Alt+Delete | Click this button to remove selected breakpoints. |
Breakpoint options
The controls of this part of the Breakpoints dialog depend on the type of the selected breakpoint.
Item | Description |
---|---|
Enabled | Select this checkbox to enable the selected breakpoint. If the breakpoint is disabled, it won't be hit during debugging. You can also use checkboxes in the left-hand-side view to enable/disable breakpoints. |
Suspend | Select this checkbox if you want the debugger to suspend the program when the breakpoint is hit. It makes sense to disable this option, for example, if you want the breakpoint only to log some data or calculate an expression at some point without suspending the program. |
Condition | This option is only available for line breakpoints. Select this checkbox to make the selected breakpoint conditional, and specify a condition in the adjacent text field. Press Shift+Enter to open the multiline editor. |
Log | Select these checkboxes if you want to log the breakpoint hit in the debugger output. You can choose either to log the fact the breakpoint was hit or log the full stack trace of the program when the breakpoint was hit, or both. You would normally want to clear the Suspend checkbox when you use the breakpoint for logging. |
Evaluate and log | This option is only available for line breakpoints. Select this checkbox if you wish to evaluate a certain expression at this breakpoint and to log the result to the debugger output. Use the adjacent text field to specify the expression. Press Shift+Enter to open the multiline editor. |
Remove once hit | Select this checkbox, if you want the breakpoint to be deleted after hitting it. |
Disable until breakpoint is hit | From the list, select the breakpoint you want the current breakpoint to depend on. Besides that, you can also choose whether to disable the current breakpoint again after it is enabled and hit or to leave it enabled. |
Hit count | This option is only available for line breakpoints. Specify the number of hits and how to count them. The debugger will only stop at the breakpoint after the specified number of hits. This is helpful for debugging loops or methods called several times. When the execution process comes to a breakpoint, where Hit count is set, the debugger reduces the count value by 1 and compares it to zero. If the comparison result is The Hit count condition only satisfies once per debugging session. In other words, if you have a loop inside a method and the Hit count condition has been reached once, the breakpoint will not be hit the next time the said method is called. |
Suspend only on specific thread | This option is only available for line breakpoints. This option appears when a debugging session is in progress and allows you to make a breakpoint thread-specific. |
Only in my code | This option is only available for CLR exception breakpoints. Use this option to ignore matching exceptions that arise from library code. |
Context menu commands
Item | Description |
---|---|
Move to group | Use this command to move the selected breakpoint into a new group, into one of the existing groups ([group name]), or out of a group (<no group>). |
Edit description | Choose this command to add a label to the breakpoint. |