PlatformIO 内存级调试
PlatformIO 默认构建即包含了调试信息
可以手动添加编译参数,输出 .map:
1 |
|
方案一:直接解析崩溃地址(无需工具链)
用文本编辑器打开 output.map
,搜索崩溃地址 去掉前两位(ESP32-C3 的 Flash 地址是 0x42xxxxxx
,实际偏移是后6位):
- 例如
0x420012d2
→ 搜索0012d2
,或者往前一位位找 - 重点查看
.text
段附近的符号
方案二:在线反编译:
https://godbolt.org (选择 XTensa 架构)
方案三:反编译工具链:
安装工具集(通常已安装过)
1 |
|
工具链位置:~/.platformio/packages/toolchain-xtensa-esp32s3/bin/xtensa-esp32s3-elf-
addr2line 精确定位
1 |
|
nm 查看符号
1 |
|