我是靠谱客的博主 风中美女,最近开发中收集的这篇文章主要介绍ramparserramparser,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

ramparser

1 理解概念

1.1 ramdump

ramdump是内存转储文件,简单来说,就是当系统发生致命错误无法恢复的时候,把整个DRAM抓下来,写到多个固定大小的.bin文件当中(文件尺寸相加就是当前DRAM的大小)。

1.2 ramparser

ramparser是解析ramdump的工具

1.3 debugpolicy

secure boot: 为了安全,凡是开了secure boot的机器, 会禁用相当一部分的debug功能. 但是很多打开了secure boot的手机出现问题的时候也需要调试. 需要临时打开这些debug feature, 比如tzlog, full ramdump, 以及subsystem restart ramdump.

debugpolicy: 在8994以及之前的平台,想干这件事比较麻烦,需要修改签名的配置文件,重新签名xbl.elf以及mba.mbn才能enable. 在8996以及之后的平台上,高通引入了debugpolicy. 本质上, 它是一个被签名的配置文件, 会被刷到apdp和msadp分区(通常情况下这两个分区是空的),当xbl以及tz在启动阶段发现有这个文件,并且能通过签名校验的时候,就会临时开启相应的debug功能.

2 抓取ramdump

2.1 触发crash dump

# 检查debugpolicy(0x0b有效)
adb shell getprop ro.boot.d
# 刷入debugpolicy
python ./vendor/xiaomi/securebootsigner/Qualcomm/common/debugpolicy.py
# 检查debugpolicy(0x0b有效)
adb shell getprop ro.boot.d

# 触发crash dump; 或手动按音量+-和power键4s左右进入dump
adb root
adb shell "echo c > /proc/sysrq-trigger"
lsusb

2.2 使用QPST configuration

此时进入crash dump模式,端口识别为900e。使用工具自动获取dump信息。Ports标签页查看,查看dump文件: Help --> Open Log File Directory

3 解析ramdump

3.1 安装ramparser

3.2 获取vmlinux symbols文件

build生成路径 out/target/product/<product_name>/obj/kernel/msm-4.19/vmlinux
husky平台 http://husky.pt.miui.com/buildFile/symbols

3.3 使用ramparser

python ramparse.py -x -a <dump_path>  -v <dump_path>vmlinux -o cmdparser --force-hardware umi
# 注意上面的路径,替换为你本地的路径:
-x 解压
-a dump的路径
-v vmlinux符号表的路径
-o 执行parser
--force-hardware 是指定的平台

4 查看报告

N/A

5 参考资料

  • ramdump文件抓取及解析
  • DebugPolicy 安装

最后

以上就是风中美女为你收集整理的ramparserramparser的全部内容,希望文章能够帮你解决ramparserramparser所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部