# Breakpoints and breakpoint groups

Breakpoints enable you to control the flow of a program when debugging. Break point groups enable you to organize and work with entire groups of breakpoints.

## Breakpoints

Breakpoints determine where program operations stop, which allows you to examine variable values, memory and register contents, and so on.

You can create two kinds of breakpoints:

- Unconditional breakpoints stop the program at a specific statement
- Conditional breakpoints stop the program when a specific condition at a specific statement occurs
- Thread-specific breakpoints stop the program when a specific thread reaches a specific statement or condition

When the program stops at a breakpoint, the Source window highlights and displays the appropriate line of source code or assembler code that shows the breakpoint. The debugger positions the cursor at the beginning of the line where the breakpoint occurred.

## Breakpoint groups

All breakpoints belong to a breakpoint group. Each breakpoint group has a specific color and name. By using breakpoint groups, you can simultaeously affect all of the breakpoints in the group when performing certain actions. For example, you can disable all of the breakpoint in a group or remove them.

You can add breakpoints from different program files into a breakpoint group. Unless you create a new breakpoint group, all breakpoints that you create belong to the Default breakpoint group.

## Related topics:

> Breakpoint menu

> Breakpoints pane

> Working with breakpoints

> Working with breakpoint groups

> Working with properties