Breakpoints and Program Counter
Hardware data breakpoint
如果硬件数据断点被命中, PC指针地址取决于被调试处理器。
对于 ARM 处理器, 当数据断点命中时,一条或两条指令的“刹车行为” 产生。
这意味着产生断点的指令,可能还包括其后的第二条指令,都被执行。
调试器显示的 PC 值,可能并不是产生断点的指令地址。
Hardware instruction breakpoint
如果硬件指令断点被命中, PC指针地址取决于被调试处理器。
对于 ARM 处理器, 当数据断点命中时,没有刹车行为产生。
这意味着产生断点的指令还没有被执行, PC 值 正好被设置到该地址。
Software instruction breakpoint
当软件断点被命中时, PC 地址值总是断点的地址。
除非该断点指令是 BKPT, 产生断点的指令总是不被执行。
Processor events
如果处理器事件被命中, PC 地址值取决于被调试的处理器。
对于 ARM 处理器,在该地址的指令被执行前, 向量捕捉硬件停止且 PC 值指向该异常向量。 |