手机定屏死机问题操作指南

539c69303d8d6dfc55356fe048705485.gif

和你一起终身学习,这里是程序员Android

经典好文推荐,通过阅读本文,您将收获以下知识点:

一、定屏死机问题抓取 Log 要求
二、 复现定屏死机问题后做什么
三、检查adb是否可连的方法
四、连接adb 抓取以下Log
五、如果adb不可连,执行下面操作
六、黑屏 dump 抓取方案

一、 定屏死机问题抓取 Log 要求

  • 1.使用debug版本插入4G 及以上SD卡

  • 2.测试前调整手机时间和电脑时间一致。

  • 3.保留对应手机测试版本的 vmlinux 和 symbols 文件夹

    symbols目录:
    /out/target/product/XXX平台/symbols
    vmlinux目录:
    /out/target/product/XXX平台/obj/KERNEL/vmlinux

二、 复现定屏死机问题后做什么

  • 1.记录时间点

  • 2.拍照,保留现场

  • 3.检查adb是否可连

  • 4.检查打电话是否能接通

三、检查adb是否可连的方法

手机连接USB,执行 adb devices,查看是否可以识别到设备ID,能成功识别,则表示adb可以连接,否则请查看 5037端口号是否被占用,建议退出各种手机助手,360安全卫士等软件,多次尝试一下方法。

adb kill-server
adb start-server
adb root
adb remount
adb devices
adb shell
  • 1.adb kill-server

杀掉PC 端 adb 进程,防止 5037 断开被手机助手占用。

  • 2.adb start-server

启动 PC adb 进程

  • 3.adb root

获取root 权限

  • 4.adb remount

挂载手机

  • 5.adb devices

查看设备id

  • 6.adb shell

看是否能进入adb shell,可进入则是adb可连反之不可连

8d4caf79533217252f3ba9cf90cbfa1a.jpeg

adb 查看手机是否挂载成功截图

四、连接adb 抓取以下Log

  • 1.点击 power键,抓取 按键事件的Kernellog

adb shell cat /proc/kmsg > kernel.log
  • 2.抓一些 adb现场Log

adb logcat –v time > logcat.txt
  • 3.抓取 Bugreport

//Android 7.0及以上
adb shell bugreport > bugreport.zip
//Android 5.0 6.0及以下
adb shell bugreport > bugreport.txt

Bugreport抓取缓慢,需要等待 3分钟左右。

  • 4.抓取system_server 的调用栈

fb722e1d098f292e63f7c77507eff8f1.jpeg

抓取system_server 的调用栈信息

1.连接adb

adb shell
  1. 创建文件

touch /data/anr/traces.txt

3.修改文件权限

chmod 777 /data/anr/traces.txt**

4.切换root

su

5.查找system_server 进程id

ps -A | grep system_server

6.根据id杀掉system_server

kill -3 13691

7.截屏保留线程

/system/bin/screencap -p > /data/anr/screenshot.png

8.导出trace 信息

adb pull /data/anr/traces.txt .

9.如果是黑屏下定屏可以使用此命令检测是否可以点亮屏幕

echo on > /sys/power/state
  1. 导出 panic文件

触发panic后理论上手机重启会有以下两个文件保存在data中,adb 命令如下:

adb pull /data/dontpanic/apanic_console
adb pull /data/dontpanic/apanic_threads

五、如果adb不可连,执行下面操作

1.音量上音量下+电源键(双击2次 )抓取 sysdump

如果无效请看第二点(Kernel活着,软件重启触发Dump)

2.长按Power7S触发dump(部分手机可用)

3.同时长按 音量上和 电源键 抓取sysdumpKernel已死,硬件重启触发sysdump

六、黑屏 dump 抓取方案

1.记录下问题发生的时间点
2.adb 是否可连
若可以连接,请执行如下命令

adb rootadb remountadb shell df >> df.txtadb shell b2g-ps --oom >> b2g_ps.txtadb shell b2g-info >> b2g-info.txtadb shell debuggerd -b xxx >> b2g_debuggerd.txt (xxx为b2g_ps.txt中记录的b2g进程号)adb shell screencap -p /data/1.pngadb shell getevent >> getevent.txt (此时请操作物理按键几次power,上下左右,enter等,看是否按键消息输出)adb shell screencap -p /data/2.pngadb logcat -v threadtime  >> adb_logcat.txt (在logcat执行过程中,再操作几下按键)adb shell screencap -p /data/3.pngadb shell dumpsys SurfaceFlinger >sf.txtadb shell dumpsys window > window.txt

3.给测试机拨打电话看看是否反应?

参考文献:

【腾讯文档】Android Framework 知识库
https://docs.qq.com/doc/DSXBmSG9VbEROUXF5

友情推荐:

Android 开发干货集锦

至此,本篇已结束。转载网络的文章,小编觉得很优秀,欢迎点击阅读原文,支持原创作者,如有侵权,恳请联系小编删除,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

46b64e56ab875419dda0097a09321ea2.jpeg

点击阅读原文,为大佬点赞!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/28946.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IDEA实用设置及插件

一、IDEA实用设置 二、IDEA实用插件 1. aiXcoder是一个基于最先进的深度学习技术的强大的代码完成器和代码搜索引擎。它有可能向您推荐一整行代码,这将帮助您更快地进行编码。AiXcoder还提供了一个代码搜索引擎,帮助您在GitHub上搜索API用例。 2. 阿里…

【iOS】—— 面向对象,Runtime,ARC等问题总结

对于暑假学习大多数是对之前学习的一个复习,在这里只做对之前学习欠缺知识的补充以及这些知识点涉及的一些问题,从问题入手学习。 文章目录 面向对象1.一个NSObject对象占多少内存?2.对象的isa指针指向哪里?3.OC的类信息存放在哪…

HarmonyOS/OpenHarmony应用开发-Stage模型UIAbility组件使用(五)

UIAbility组件间交互(设备内) UIAbility是系统调度的最小单元。在设备内的功能模块之间跳转时,会涉及到启动特定的UIAbility,该UIAbility可以是应用内的其他UIAbility,也可以是其他应用的UIAbility(例如启动…

Dcat-admin使用 Alpine 双向数据绑定

介绍 Alpine.js 这东西真的轻量级,和vue相似,和 livewire 同一个作者,推荐大家使用,可以平替jquery 效果 实现 在 bootstrap.php 引入js Admin::headerJs([https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-y/alpinejs/3.9.0/…

unity 2019 内置渲染管线 光照与Lighting面板 参数详解

文章目录 前言一 Unity的光照 与 烘焙光照1 unity完整的光照组成2 光的亮度与颜色3 全局光照直接光间接光5 间接光≠光照贴图 二 色彩空间与自动烘焙1 unity的色彩空间2 自动烘焙光照 三 烘焙1 什么是烘焙,烘焙的是什么2 如何进行烘焙3 烘焙的优点和缺点4 查看光照贴…

666!一个图形化测绘平台渗透工具

工具介绍 集Fofa、Hunter鹰图、Shodan、360 quake、Zoomeye 钟馗之眼为一体的gui图形界面化工具。注:第一次使用选择保存,之后需要修改api点击修改即可,如果再点击保存将覆盖所有已经配置的API,则需要重新再配置。 关注【Hack分享…

Visual Studio 中的新特性:可视化宏扩展

今天,我们很高兴地宣布在 Visual Studio 17.7 预览版中推出可视化宏扩展功能。这个新功能通过可视化的方式对宏代码进行逐步扩展。 若要开始使用此功能,请确保你的 Visual Studio 版本更新到最新版本的 Visual Studio 预览版。 下面,我们来看…

Java Mybatis02+oracle拓展

0目录 Mybatis 02Oracle 拓展 1.Mybatis 02 创建数据库和表 创建工程 实体类 util工具类 接口方法 Resource Mapper xml文件 配置文件 测试 加入模糊查询(根据姓名) 测试结果 2.ParameterType语法 实战 参数为对象 参数为…

labview 子画面插入面板

1.前言 在前面一篇文章中描述了弹框式显示子画面, labview 弹窗(子vi)_weixin_39926429的博客-CSDN博客 本文介绍插入式显示子画面。 本文的主题在以前的文章中介绍过, labview 插入子面板_labview插入子面板_weixin_39926429的博客-CSDN博客 借用…

【信号去噪和分类】基于小波的隐马尔可夫模型统计信号处理(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

ceph三个接口的创建

目录 创建 CephFS 文件系统 MDS 接口 服务端操作 客户端操作 创建 Ceph 块存储系统 RBD 接口 1、创建一个名为 rbd-demo 的专门用于 RBD 的存储池 2、将存储池转换为 RBD 模式 ​编辑 3、初始化存储池 4、创建镜像 5、镜像管理 6、Linux客户端使用 客户端使用 RBD …

flutter开发实战-Canvas绘图之Path路径动画

flutter开发实战-Canvas绘图之Path路径动画 flutter提供一块2D画布Canvas,Canvas内部封装了一些基本绘制的API,开发者可以通过Canvas绘制各种自定义图形。canvas上绘图,有多种不同的方式,常用的就是使用 Path。这里是flutter实现…