- A breakpoint is a mechanism for suspending program execution when a specific set of criteria are met.
The criteria for suspending program execution can range from a simple line breakpoint which stops a program when it lands on a particular line of code, all the way up to complex breakpoints which combine multiple conditions into a detailed set of criteria that can target very specific circumstances.
Types of Breakpoints
Breakpoints fall into two broad categories: Hardware Breakpoints] and Software Breakpoints. At the Integrated Development Environment (IDE) level, both types will appear to work the same way, but there are differences in their implementations behind the scenes.
Hardware Breakpoints] are versatile in their ability to suspending program execution. Hardware breakpoints are limited in number by the target microcontroller's hardware.
MPLAB® X IDE will automatically use hardware breakpoints by default.
|Icon||Hardware Breakpoint Type|
|Sequence Breakpoint (Complex)|
|Tuple Breakpoint (Complex)|
There are more software breakpoints available than hardware breakpoints. Software breakpoints only support breaking on program memory events.
To use software breakpoints, they first need to be enabled. Software breakpoints are only supported by the MPLAB® REAL ICE and MPLAB® ICD 3 debuggers.
|Icon||Software Breakpoint Type|