高通平台抓取ramdump及使用qcap解析,ramdumpqcap
高通死机或者查找休眠问题可以通过ramdump来分析,具体步骤
先确认下内核配置了CONFIG_MSM_DLOAD_MODE,并确认download_mode为1
grep -rin CONFIG_MSM_DLOAD_MODE out/target/product/xxxxx/obj/KERNEL_OBJ/.config
adb shell
cd /sys
find -name download_mod
cat download_mod
用QPST Configuration抓取ramdump
将PS_HOLD拉低低于200ms,可开机时就试试,练练手感(因为有时控制不好很难进ramdump,也可手动触发
dump,来确认能进入ramdump模式,echo c > /proc/sysrq-triggel)
串口会打印如下信息
D - 102632 - pm_driver_init, Delta
B - 427854 - clock_init, Start
D - 152 - clock_init, Delta
B - 3539189 - Sahara: Hello pkt sent
然后用qcap来分析
qcap的使用可参考文档80-NR964-54SC(中文) 80-NR964-54
这里选择ie浏览器,打开网站会提示调到java官网下载java,按提示安装,并重启浏览器。
1软件产品在aboot.html的Product项。
2子系统分析选择全部
3选择meta build的路径,即modem代码路径或者单独将需要的symbol文件放到dump抓取到的
log文件夹中,symbol文件的查找可参考下来提示。
-Summary:
1) You can check your contexts.xml, such as :
M8936FAAAANYZQ*.elf
modem_proc/build/ms/
在modem的contexts.xml文件中,查找sysbol或者elf的字符串对应的文件,如果机器的代码跟编译的代码
不一致或者查找到的代码不一致,会提示红字体的解析失败。
成功后会生成一份文档,