首页
›
嵌入式基础与RISC-V
›
071-嵌入式软件调试
›
《嵌入式软件堆栈回溯与异常捕获故障定位实战》
VIP10
本课程属于:071-嵌入式软件调试
嵌入式基础与RISC-V · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
嵌入式软件堆栈回溯与异常捕获故障定位实战
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
异常与调试基础
什么是嵌入式异常(HardFault · MemManage · BusFault
异常
调试基础
02
堆栈原理深度解析
Cortex-M内核堆栈指针(MSP… · 函数调用与栈帧结构(LR · PC
堆栈原理深度解析
Cortex-M
03
堆栈回溯原理
从当前SP指针回溯调用链 · 解析栈帧中的LR(返回地址)与PC(… · 利用FP(帧指针)加速回溯
堆栈回溯原理
SP
04
GDB调试实战
GDB常用命令(bt · info registers · x/10x $sp)
GDB
调试实战
05
异常捕获机制
裸机环境下异常Hook函数注册(Ha… · RTOS环境下异常捕获(FreeRT…
异常捕获机制
Hook
06
栈回溯代码实现(C语言)
手动解析栈帧(从SP开始遍历) · 利用__attribute__((n… · 打印回溯信息到串口
栈回溯代码实现
C语言
07
栈回溯代码实现(汇编)
Cortex-M汇编指令(MRS · LDMIA · STMDB)
栈回溯代码实现
汇编
08
故障定位实战(HardFault)
分析LR寄存器(EXC_RETURN… · 解析堆栈中的xPSR · PC
HardFault
故障定位实战
09
故障定位实战(MemManage/BusFault)
分析MMFSR/BFSR寄存器 · 识别数据访问违例或指令预取错误 · 利用MPU配置辅助定位
MemManage/Bu…
故障定位实战
10
故障定位实战(UsageFault)
分析UFSR寄存器 · 定位未对齐访问 · 除零错误
UsageFault
故障定位实战
11
栈溢出检测与定位
静态分析(链接脚本计算栈大小) · 动态检测(填充魔数0xDEADBEE… · 运行时检查)
栈溢出检测
定位
12
RTOS任务栈回溯
FreeRTOS任务控制块(TCB)… · 遍历任务列表并回溯每个任务的调用栈 · 定位任务级故障
RTOS
任务栈回溯
13
多核/多线程栈回溯
SMP系统下每个核的独立栈回溯 · 线程局部存储(TLS)与栈边界检查
多核
多线程栈回溯
14
栈回溯优化
压缩回溯信息(只保存PC地址) · 符号表解析(addr2line工具) · 回溯深度限制
栈回溯优化
PC
15
异常日志系统设计
环形缓冲区日志存储 · 时间戳与上下文信息记录 · 日志导出(串口/SD卡/网络)
异常日志系统设计
环形缓冲区日志存…
16
自动化故障分析工具
Python脚本解析回溯日志 · 自动匹配符号表 · 生成调用链图(Graphviz)
自动化故障分析工…
Python
17
硬件辅助调试
ETM/ETB跟踪宏单元 · 硬件断点与观察点 · DWT(数据观察点与跟踪)计数器
硬件辅助调试
ETM/ETB
18
故障注入测试
模拟栈溢出(递归函数) · 模拟非法指针访问 · 模拟除零错误
故障注入测试
模拟栈溢出
19
Bootloader与应用程序联合调试
Bootloader跳转后的栈指针重… · 应用程序异常时回溯Bootloade…
Bootloader
应用程序联合调试
20
中断嵌套与重入问题
中断上下文栈回溯 · 中断嵌套深度检测 · 重入函数栈污染定位
断嵌套
重入问题
21
内存损坏定位
堆内存管理(malloc/free)… · 野指针与重复释放检测 · 内存池越界检查
内存损坏定位
malloc/free
22
编译器优化对回溯的影响
-O0/-O1/-O2/-Os下的栈… · 尾调用优化导致回溯断裂 · 内联函数展开处理
编译器优化对回溯…
O0/-O1/-O2/-…
23
链接脚本与符号表
链接脚本中的栈段定义 · 符号表生成(.map文件) · strip后符号恢复
链接脚本
符号表
24
远程调试与日志回传
通过网络/UART传输回溯信息 · 远程GDB调试(gdbserver) · 云端日志分析
远程调试
日志回传
25
安全关键系统回溯
MISRA-C规范下的回溯实现 · 功能安全(ISO 26262)对异常… · 看门狗与安全状态
安全关键系统回溯
MISRA-C
26
性能分析
栈回溯对实时性的影响 · 采样回溯(Statistical P… · 低开销回溯实现
性能分析
栈回溯对实时性的…
27
案例1
电机驱动HardFault定位——分…
案例1
HardFault
28
案例2
通信协议栈MemManage故障——…
案例2
MemManage
29
案例3
RTOS任务栈溢出——通过回溯定位高…
案例3
RTOS
30
综合项目
构建完整的异常捕获与栈回溯系统——从… · 集成日志 · 远程回传
综合项目
构建完整的异常捕…
所属VIP或分类
同VIP:嵌入式JTAG调试器配置与多系统故障排查
同VIP:嵌入式调试性能剖析与Bug修复故障定位实战
同VIP:嵌入式软件内存泄漏定位与实时跟踪调优实战