ramdump是指某个时刻系统或者子系统发生crash等异常,系统将内存中的数据通过一定的方式保存下来,相当于一个系统内存快照,用以开发者离线分析系统异常问题。
解析ramdump肯定需要先获取对应的ramdump信息,即上面提到的系统内存快照,各厂商有自己获取的方式,这里不再详细赘述。拿到ramdump信息后还需要对应kernel版本的vmlinux,类似于addr2line,需要对应的符号文件才能将对应的信息获取出来。此时拿到的信息是一些bin文件,无法直接查看,所以需要通过
https://source.codeaurora.org/quic/le/platform/vendor/qcom-opensource/tools/网站获取对应的解析工具,解析后继续进行分析。
这一套工具是一些列的python脚本,找到ramparser.py,然后执行;该工具依赖arm架构下的nm、objdump以及gdb等工具,上述工具均可以在AOSP中的android/prebuilts/gcc目录下找到。
pathon ramparser.py --help //执行该命令可以查看对应的参数含义
python ramparser.py -a ./</