11.1.3. Unconditional and conditional breakpoints

Software and hardware breakpoints are classified depending on the qualifiers that you assign to the breakpoint.

Unconditional breakpoints

During execution, when the PC reaches the address where the breakpoint is set, the breakpoint is hit. An unconditional breakpoint always activates immediately it is hit, and always stops execution.

You can assign one or more actions to an unconditional breakpoint, which are performed when the breakpoint is activated.

Simple breakpoints

You can set an unconditional breakpoint:

  • that performs the default action, which is to stop execution

  • where RealView Debugger or your target hardware determines the type of breakpoint (that is, software or hardware).

This is called a simple breakpoint.


Simple breakpoints are not added to the breakpoint history.

See also

Conditional breakpoints

A breakpoint is conditional when you assign a condition or set of conditions that must be met for the breakpoint to be activated. A condition can be determined by:

  • the result of C-style expression that equates to True or False

  • the return value from a macro

  • an event counter (for example, break on the fourth occurrence of reaching a particular address)

  • a specific instance of a C++ object.


Although hardware breakpoints can have conditions controlled in hardware, they are not identified as conditional by RealView Debugger. A breakpoint is identified as conditional by RealView Debugger only when the types of conditions listed here are assigned to that breakpoint.

A conditional breakpoint is activated when it is hit, and all specified conditions are met.

If you want to use multiple conditions, the order you specify the conditions affects the behavior of a breakpoint.

See also

Copyright © 2002-2011 ARM. All rights reserved.ARM DUI 0153N