01
仿真调试概述
什么是仿真调试 · 为什么需要 · 核心流程
入门概念
02
开发环境搭建
IDE安装配置 · 编译器/调试器 · 工程模板
KeilVS Code
03
断点基础
设置/取消断点 · 硬件断点 · 软件断点
断点调试
04
单步调试技巧
Step Into/Over/Out 区别与场景
单步执行
05
变量监视
Watch窗口 · 添加/删除变量 · 修改值
变量Watch
06
内存查看
Memory窗口 · 指定地址 · 分析内存泄漏
内存泄漏
07
寄存器调试
CPU寄存器 · 执行路径 · 标志位解读
寄存器标志位
08
调用栈分析
Call Stack · 函数调用 · 异常返回地址
栈回溯
09
条件断点
条件表达式 · 命中次数 · 数据触发
条件高级
10
日志调试
串口printf · ITM/SWO · 日志等级
日志SWO
11
时序分析
逻辑分析仪 · 示波器 · 时序图解读
时序硬件
12
性能分析
执行时间测量 · Profiler · 热点函数
性能优化
13
堆栈调试
堆栈溢出检测 · 使用量 · MPU保护
堆栈MPU
14
中断调试
优先级配置 · 嵌套分析 · 延迟测量
中断NVIC
15
DMA调试
传输配置 · 完成中断 · 数据一致性
DMA传输
16
外设调试
GPIO/UART/SPI/I2C 调试技巧
外设通信
17
RTOS调试
任务状态 · 信号量/互斥量 · 堆栈监控
RTOSFreeRTOS
18
低功耗调试
功耗测量 · 唤醒源 · 低功耗模式
低功耗唤醒
19
Bootloader调试
跳转流程 · 固件升级 · CRC校验
Boot升级
20
硬件调试器使用
J-Link/ST-Link/DAP-Link 进阶用法
调试器硬件
21
Trace调试
ETM/ETB跟踪 · 指令流回放 · 覆盖率
TraceETM
22
脚本自动化调试
Python控制调试器 · 批量测试 · 回归
脚本自动化
23
多核调试
多核同步 · 核间通信 · 共享资源
多核AMP
24
远程调试
GDB Server · 网络调试 · 云端环境
远程GDB
25
崩溃分析
HardFault定位 · 异常向量 · 栈回溯
崩溃HardFault
26
死锁调试
资源竞争 · 锁顺序 · 死锁检测
死锁并发
27
内存越界
堆/栈越界 · Canary · 内存保护单元
越界Canary
28
代码审查与调试
静态分析 · 动态分析 · 规范检查
审查静态
29
调试文档与复盘
日志记录 · 复现步骤 · 知识库
文档复盘
30
综合实战
从零调试复杂项目 · 策略 · 团队协作
实战项目