| |||
Home > Debug > Debug events > Software debug event |
A software debug event is any of the following:
A watchpoint debug event. This occurs when:
The data address for a load or store matches the watchpoint value.
All the conditions of the corresponding DBGWCR match.
The watchpoint is enabled.
The linked context ID-holding BRP, if any, is enabled and its value matches the context ID in CP15 c13. See Chapter 4 System Control .
The instruction that initiated the memory access is committed for execution.
Watchpoint debug events are only generated if the instruction passes its condition code.
A breakpoint debug event. This occurs when:
An instruction was fetched and the instruction address or the CP15 Context ID register c13 matched the breakpoint value.
At the same time the instruction was fetched, all the conditions of the corresponding DBGBCR for unlinked context ID breakpoint generation matched the instruction fetch.
The breakpoint is enabled.
The instruction is committed for execution. These debug events are generated whether the instruction passes or fails its condition code.
A BKPT debug event. This occurs when a BKPT
instruction
is committed for execution. BKPT
is an unconditional
instruction.
A vector catch debug event. This occurs when:
An instruction was prefetched and the address matched a vector location address. This includes any kind of prefetch, not only the ones because of exception entry.
At the same time the instruction was fetched, the corresponding bit of the DBGVCR was set, that is, the vector catch is enabled.
The instruction is committed for execution. These debug events are generated whether the instruction passes or fails its condition code.