An Address Breakpoint is a machine level breakpoint that suspends program execution when a specific program (flash) address is accessed. Accesses include executing code or reading data stored in program memory, such as a lookup table or a C-style string. Functionally, it is similar to a line breakpoint in that the address is compared to the program counter during each instruction cycle, but an address breakpoint doesn't need to be associated with a line of code.
Data Breakpoint Activities
- Set an Address Breakpoint
- Determine a Line's Address Before Debug
- Clear/Remove an Address Breakpoint
- Disable an Address Breakpoint
- Enable an Address Breakpoint
- Modify an Address Breakpoint's Properties
Some Example Uses
- View machine state when specific instruction is executed (assembly element of a line of C code)
- View data read from or written to program memory by table read/write instructions
- Determine if a program memory location is ever reached (check program pointers)
An Address Breakpoint differs from a Line Breakpoint in that a line breakpoint works at the source level while an address breakpoint works at the machine level.