The Breakpoints window manages the list of currently set breakpoints on the solution. Using the breakpoint window you can:

- Enable, disable and delete existing breakpoints.
- Add new breakpoints.
- Show the status of existing breakpoints.
- Chain breakpoints together.

Breakpoints are stored in the session file so they will be remembered each time you work on a particular project. When running in the debugger, you can set breakpoints on assembly code addresses. These low-level breakpoints appear in the breakpoint window for the duration of the debug run but are not saved when you stop debugging.

When a breakpoint is hit then the matched breakpoint will be highlighted in the breakpoint window.

## Breakpoints window layout

The Breakpoints window is divided into a tool bar and the main breakpoint display.

###### The Breakpoint tool bar

Button | Description
| Creates a new breakpoint using the New Breakpoint dialog.
| Toggles the selected breakpoint between enabled and disabled states.
| Removes the selected breakpoint.
| Moves the cursor to the statement that the selected breakpoint is set at.
| Deletes all breakpoints.
| Disables all breakpoints.
| Enables all breakpoints.
| Creates a new breakpoint group and makes it active.

###### The Breakpoints window display

The main part of the Breakpoints window displays the breakpoints that have been set and what state they are in. You can organize breakpoints into folders, called breakpoint groups.

CrossStudio displays these icons to the left of each breakpoint:

Icon | Description
| Enabled breakpoint An enabled breakpoint will stop your program running when the breakpoint condition is met.
| Disabled breakpoint A disabled breakpoint will not stop the program when execution passes through it.
| Invalid breakpoint An invalid breakpoint is one where the breakpoint cannot be set, for example there is no executable code associated with the source code line where the breakpoint is set or the processor does not have enough hardware breakpoints.
| Chained breakpoint The breakpoint is linked to its parent and is enabled when its parent is hit.

###### Showing the Breakpoints window

To display the Breakpoints window if it is hidden, do one of the following:

- From the View menu, click Other Windows then Breakpoints.

—or—

- From the Debug menu, click Debug Windows then Breakpoints.

—or—

- Type Ctrl+Alt+B.

—or—

- On the Debug tool bar, click the Breakpoints icon.

—or—

- Right click the tool bar area to display the View menu.
- From the popup menu, click Other Windows then Breakpoints.

## Managing single breakpoints

You can manage breakpoints in the Breakpoint window.

###### Deleting a breakpoint

To delete a breakpoint, do the following:

- In the Breakpoints window, click the breakpoint to delete.
- From the Breakpoints window tool bar, click the Delete Breakpoint button.

###### Editing a breakpoint

To edit the properties of a breakpoint, do the following:

- In the Breakpoints window, right click the breakpoint to edit.
- From the popup menu, click Edit Breakpoint.
- Edit the breakpoint in the New Breakpoint dialog.

###### Enabling or disabling a breakpoint

To toggle the enable state of a breakpoint, do one of the following:

- In the Breakpoints window, right click the breakpoint to enable or disable.
- From the popup menu, click Enable/Disable Breakpoint.

—or—

- In the Breakpoints window, click the breakpoint to enable or disable.
- Type Ctrl+F9.

## Chaining breakpoints

You can chain breakpoints together using the Chain Breakpoint From dialog. When a breakpoint is chained from another breakpoint it will not be hit until the breakpoint it has been chained from has been hit. Note that when a breakpoint is chained to another breakpoint then that breakpoint will not stop your application executing it is there simply to activate the breakpoint (actually breakpoints) it is chained to.

Chained breakpoints have the breakpoint they are chained from displayed as child nodes in the tree display you can remove the chain with the right click context menu.

Note that when you delete or disable a breakpoint that other breakpoints are chained from then those breakpoints are always activated. The chain will also remain in case you wish to reset it.

## Managing breakpoint groups

Breakpoints are divided into breakpoint groups. You can use breakpoint groups to specify sets of breakpoints that are applicable to a particular project in the solution or for a particular debug scenario. Initially there is a single breakpoint group, named Default, to which all new breakpoints are added.

###### Creating a new breakpoint group

To create a new breakpoint group, do one of the following:

- From the Breakpoints window tool bar, click the New Breakpoint Group button.

—or—

- From the Debug menu, click Breakpoints then New Breakpoint Group.

—or—

- Right click anywhere in the Breakpoints window.
- From the popup menu, click New Breakpoint Group.

In the New Breakpoint Group Dialog, enter the name of the breakpoint group.

###### Selecting a new active breakpoint group

When you create a breakpoint, it is added to the active breakpoint group. To make a group the active group, do the following:

- In the Breakpoints window, click the breakpoint group to make active.
- From the popup menu, click Set as Active Group.

###### Deleting a breakpoint group

To delete a breakpoint group, do the following:

- In the Breakpoints window, right click the breakpoint group to delete.
- From the popup menu, click the Delete Breakpointt Group button.

###### Enabling all breakpoints in a breakpoint group

You can enable all breakpoints within a group as a whole. To enable all breakpoints in a group, do the following:

- In the Breakpoints window, right click the breakpoint group to enable.
- From the popup menu, click Enable Breakpoint Group.

###### Disabling all breakpoints in a breakpoint group

You can disable all breakpoints within a group as a whole. To disable all breakpoints in a group, do the following:

- In the Breakpoints window, right click the breakpoint group to disable.
- From the popup menu, click Disable Breakpoint Group.

## Managing all breakpoints

You can delete, enable, or disable all breakpoints.

###### Deleting all breakpoints

To delete all breakpoints, do one of the following:

- From the Debug menu, click Breakpoints then Delete All Breakpoints.

—or—

- From the Breakpoints window tool bar, click the Delete All Breakpoints button.

—or—

- Type Ctrl+Shift+F9.

###### Enabling all breakpoints

To enable all breakpoints, do one of the following:

- From the Debug menu, click Breakpoints then Enable All Breakpoints.

—or—

- From the Breakpoints window tool bar, click the Enable All Breakpoints button.

###### Disabling all breakpoints

To disable all breakpoints, do one of the following:

- From the Debug menu, click Breakpoints then Disable All Breakpoints.

—or—

- From the Breakpoints window tool bar, click the Disable All Breakpoints button.