目的:
程序崩溃时,通过分析崩溃时候的函数栈调用情况来追踪崩溃原因。
环境:
ESP32 + ubuntu16.04 + 崩溃处的 Backtrace
步骤:
1. 进入工程编译后的 build目录,通过 objdump 生成 静态分析文件。
$ xtensa-esp32-elf-objdump -S ota.elf > debug.txt // -S 而不是 -s
2. vim debug.txt 输入 Backtrace 的各个地址【从后向前 即 从上层到底层】
Backtrace: 0x400f0d2e:0x3ffcde10 0x400f0d2c:0x3ffcde30 0x400d2045:0x3ffcde60 0x4008236d:0x3ffcde80 0x40081b52:0x3ffcdea0 0x4010091d:0x3ffcdec0 ……
输入方式:
$ vim debug.txt
之后直接输入
/4010091d