在用Ghidra 分析使用arm-none-eabi-gcc 编译的程序时, 报错
Error during DWARFAnalyzer import: ghidra.app.util.bin.format.dwarf4.DWARFException: Only DWARF version 2, 3, or 4 information is currently supported (detected 5).
原因
Ghidra 的 DWARFAnalyzer 插件, 目前只支持 DWARF 的版本是2,3,4, 检测到当前程序使用的DWARF 是版本5, 所以无法解析
解决办法
解决办法1
升级到Ghidra 11.1 或者更新版本
![](/ox-hugo/_20240618_142019screenshot.png)
解决办法2
查看 arm-none-eabi-gcc 文档
![](/ox-hugo/_20240530_012630screenshot.png)
可以看到当前版本的arm-none-eabi-gcc 默认使用的是 dwarf-5
编译时加上 -g -gdwarf-4 不起作用, 于是考虑降级arm-none-eabi-gcc 版本
降级 arm-none-eabi-gcc
经试验, 下载 旧版工具链
这个页面的arm-none-eabi-gcc 都能正常工作, 即10.3.1 及之前的版本都可以用
例如下载 arm-none-eabi-gcc-10.3
![](/ox-hugo/_20240530_135724screenshot.png)