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...