trace
本地手机抓取trace
解压android trace抓取相关文件
找到config.pbtx
文件,连接手机push进去
# push config.pbtx ,/data/local/tmp/为自定义push到的目录
adb push config.pbtx /data/local/tmp/
adb shell
# 抓取trace, /data/local/tmp/perfetto-traces/为自定义输出目录
cat /data/local/tmp/config.pbtx | perfetto --txt -c - -o /data/local/tmp/perfetto-traces/trace.perfetto-trace
# 抓到后你所需要的内容后 ctrl+c中断,导出trace文件
adb pull /data/local/tmp/perfetto-traces/trace.perfetto-trace
查看trace
-
打开网站 https://ui.perfetto.dev/
-
把抓取到的trace拖到网站中
-
如果trace文件过大则会有以下提示
这时可以使用按上述命令操作# 下载trace_processor curl -LO https://get.perfetto.dev/trace_processor # 添加权限 chmod +x ./trace_processor # 运行trace_processor /path/to/trace.pftrace为文件路径 trace_processor --httpd /path/to/trace.pftrace
或者直接使用压缩文件android trace文件的抓取与查看方法中的trace_processor_shell
chmod +x ./trace_processor_shell ./trace_processor_shell 【文件路径】
运行完成后,再将文件拖到网站 https://ui.perfetto.dev/,即可正常打开
backtrace
本地手机抓取backtrace
- 把需要抓取backtrace的应用打开。比如,应用黑屏的问题,就把应用打开在黑屏界面。
- 找到应用pid
adb shell ps -A | grep [应用包名]
- 通过pid抓取backtrace
adb shell debuggerd [应用pid] > backtrace.txt
重定向到backtrace.txt文件
查看backtrace
我们主要关注抓取到的文件中的backtrace部分。这里我们的backtrace抓的是一个黑屏的应用(com.xd.ro.roapk),这里可以看到应用卡在了 Vulkan 图形渲染。