基于单片机STM32的---断点调试操作

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

断点调试核心操作

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

1. 打断点(3 种方式)

断点是程序暂停执行的 "标记",支持多种类型:

  • 普通断点 :点击代码行号左侧的空白区域(出现蓝色圆点),程序执行到该行时暂停; 注意:断点需打在 可执行代码行 (如 iffor、变量赋值、函数调用),不能打在注释、空行、头文件声明行。
  • 条件断点 :右键断点 → 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 面板(显示调试日志,可排查连接问题)。
相关推荐
d111111111d1 小时前
在STM32F103C8T6中什么是读写寄存器模型,有什么用,可以干什么,详细解释。
笔记·stm32·单片机·嵌入式硬件·学习
Darken032 小时前
EXTI和NVIC的这两个外设时钟为什么不需要开启?不开启外设时钟程序能否执行?
stm32·单片机·exti·nvic
猫猫的小茶馆2 小时前
【ARM】ARM体系结构与开发基础
arm开发·stm32·单片机·嵌入式硬件·mcu·物联网
三佛科技-134163842122 小时前
PL3367C 离线反激式PWM控制芯片兼容DP2525JD 典型应用电路
单片机·嵌入式硬件·智能家居·pcb工艺
研华嵌入式2 小时前
用Edge Impulse开启你的边缘AI之旅
arm开发·图像处理·嵌入式硬件·目标检测·视觉检测·边缘计算
知南x2 小时前
【正点原子STM32MP157 启动篇】(3) STM32MP1 二进制头部信息+Linux 系统启动过程
linux·stm32·嵌入式硬件·stm32mp157
硅农深芯2 小时前
先进封装 – 从 2D、3D 到 4D 封装
单片机·芯片·封装
richxu202510012 小时前
嵌入式学习之路>单片机核心原理篇>(5)串口通信核心原理
单片机·嵌入式硬件·学习
小鱼儿电子3 小时前
56-基于LoRa的水质监测系统设计与实现
stm32·单片机·嵌入式硬件·lora·腾讯云平台