Study note

How do breakpoints even work?

Properties

Type
Blogs
Status
待读
Domain
Systems
Category
操作系统与内核
Source
interrupt.memfault.com
Vault note
library/articles/systems/How-do-breakpoints-even-work-6c699a67198c2d93.md

Summary

Chris Coleman 从硬件断点和软件断点的区别讲起,通过 nRF52840 Cortex-M4F 裸机程序、GDB、J-Link GDB Server 与 GDB Remote Serial Protocol,追踪断点的安装、触发、临时移除、单步越过和重新安装过程;后半部分直接检查 Cortex-M Flash Patch and Breakpoint Unit 的 `FP_CTRL`、`FP_COMPn` 寄存器,以及 Flash 与 RAM 代码区域采用不同断点实现的原因。

Highlights

把 IDE 中一次普通的“点击断点”展开成 debugger、gdbserver、远程协议、指令替换和 MCU 调试硬件之间的完整链路,也解释了硬件断点数量有限、Flash 中软件断点受限,以及 GDB 为什么在继续执行前先移除断点并单步跨过原指令。

Notes

GDB 与 ARM Cortex-M 硬件/软件断点的底层机制。

Comments

Loading comments...