高通平台抓取ramdump并用qcap解析

         高通死机或者查找休眠问题可以通过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(可参考 http://blog.csdn.net/ldinvicible/article/details/49246109).

将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来分析( https://cap.qti.qualcomm.com/default.aspx)
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 : 
<file_ref symbol="modem"> 
<file_name>M8936FAAAANYZQ*.elf</file_name> 
<file_path>modem_proc/build/ms/</file_path> 

        在modem的contexts.xml文件中,查找sysbol或者elf的字符串对应的文件,如果机器的代码跟编译的代码
不一致或者查找到的代码不一致,会提示红字体的解析失败。
成功后会生成一份文档,如 http://download.csdn.net/download/mike8825/10233735

猜你喜欢

转载自blog.csdn.net/mike8825/article/details/79219913