STM32 的断点调试是嵌入式开发中定位 bug、验证程序逻辑的核心手段,核心原理是通过 调试器(硬件) 与 调试软件(IDE / 工具链) 配合,暂停 CPU 执行、查看寄存器 / 内存 / 变量状态、单步执行等。以下是从硬件准备到高级技巧的完整流程,适用于绝大多数 STM32 型号(F1/F4/L4/H7 等)。
断点调试核心操作






一般操作,比较简单的操作;实际上是不应该这样的,可以写一个等待;





1. 打断点(3 种方式)
断点是程序暂停执行的 "标记",支持多种类型:
- 普通断点 :点击代码行号左侧的空白区域(出现蓝色圆点),程序执行到该行时暂停; 注意:断点需打在 可执行代码行 (如
if、for、变量赋值、函数调用),不能打在注释、空行、头文件声明行。 - 条件断点 :右键断点 → Edit Breakpoint → 勾选
Condition,输入条件(如i == 10),仅当条件满足时暂停; - 计数断点 :右键断点 → Edit Breakpoint → 勾选
Hit count,输入次数(如 5),程序执行到该断点第 5 次时暂停; - 临时断点:右键代码行 → Toggle Temporary Breakpoint,断点执行一次后自动消失(黄色圆点)。
2. 启动调试
- 点击 IDE 工具栏的 Debug 按钮(小虫子图标),或按
F11; - 若配置正确,调试器会连接目标板,复位后暂停在
main函数的第一行(或你设置的第一个断点); - 此时 IDE 进入调试视图:
- 左侧:Debug 面板(显示函数调用栈);
- 右侧:Variables 面板(查看全局 / 局部变量值)、Registers 面板(查看 CPU 寄存器)、Memory 面板(查看内存数据);
- 底部:Console 面板(显示调试日志,可排查连接问题)。