# Using Breakpoints

The flow of a program can be controlled with breakpoints. Breakpoints can be either unconditional or conditional breakpoints. An unconditional breakpoint stops the program at a specific statement. A conditional breakpoint stops the program when a specific condition at a specific statement is met. The appropriate module is shown with the source positioned to the line where the condition occurred. The cursor will be positioned on the line where the breakpoint occurred if the cursor was in the text area of the display the last time the source was displayed. Otherwise, it is positioned on the command line.

To add a breakpoint to your programs, first select the point in the System Debugger source window where you want the breakpoint added. Then you can either click the line number to automatically add a breakpoint or click a line of code and perform one of the following actions:

- Select Breakpoints --> Add Breakpoint from the menu bar.
- Right-click on the source window and select Add Breakpoint
- Select Add Breakpoint from the tool bar

You can change the properties of a breakpoint, which includes adding conditional parameters, making it thread-specific, and converting it to or from a default breakpoint. To change breakpoint properties, right-click the breakpoint and select Breakpoint Properties

The System Debugger automatically creates new breakpoints under the current breakpoint group.

To change the current breakpoint group, use the Current Breakpoint Group list on the tool bar to select a breakpoint group. The System Debugger will now create all new breakpoints as a member of this breakpoint group.

To remove a breakpoint or breakpoint group, select the desired object in the Breakpoints pane and use either the menu options (Breakpoints --> Remove Breakpoint, Remove All Breakpoints, or Delete Breakpoint Group), context menu, or press the workstation Delete key.

For more information on working with breakpoints, see the following topics:

> Add New Breakpoint Group

> Breakpoints pane

> Edit breakpoint

> Breakpoint properties

> Breakpoint Group properties

> Remove Breakpoint Group

> System Debugger Breakpoints menu

> System Debugger Breakpoints panel

> System Debugger Source window

> Using breakpoints in C++ templates