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

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.mzph.cn/news/2502.shtml

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

相关文章

reggie优化06-项目部署

1、部署架构 2、部署环境 3、部署前端 4、部署后端 修改图片位置,并push至仓库

全域Serverless化,华为云引领下一代云计算新范式

近日,华为开发者大会2023(Cloud)在东莞成功举办,期间“全域Serverless化,引领下一代云计算新范式”专题论坛人气满满。华为云首席产品官方国伟携手业界专家、客户、伙伴,面向广大开发者,分享了在…

【Docker】Docker基本管理命令

目录 一、Docker概述1.1容器化受欢迎的原因1.2Docker核心概念 二、安装 Docker2.1环境准备 三、Doker镜像操作镜像操作选项 四 、Docker 容器操作容器操作选项 一、Docker概述 Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。 Docker是…

HTTP1.1、HTTPS、HTTP2.0 、HTTP3.0

HTTP1.1 优点: 整体方面:简单、灵活和易于扩展、应用广泛和跨平台 性能方面:长连接、管道网络传输解决请求队头阻塞(没有使用) 缺点: 安全方面:无状态、明文窃听、伪装、篡改 性能方面&am…

JavaWeb课程设计项目实战(03)——开发准备工作

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 在正式进入项目开发之前请先完成以下准备工作。 数据库语句 请创建数据库和表并完成数据初始化工作。 初始化数据库 请在MySQL数据库中创建名为studentinformationmanag…

文心一言 VS 讯飞星火 VS chatgpt (59)-- 算法导论6.4 3题

文心一言 VS 讯飞星火 VS chatgpt (59)-- 算法导论6.4 3题 三、对于一个按升序排列的包含 n 个元素的有序数组 A 来说,HEAPSORT 的时间复杂度是多少?如果 A 是降序呢? 文心一言: 对于一个按升序排列的包含 n 个元素的有序数组…

Spring Boot进阶(54):Windows 平台安装 MongoDB数据库 | 超级详细,建议收藏

1. 前言🔥 Windows如何安装MongoDB数据库及使用呢?这将又会是干货满满的一期,全程无尿点不废话只抓重点教,具有非常好的学习效果,拿好小板凳准备就坐!希望学习的过程中大家认真听好好学,学习的途…

Android系统开发-入门篇

参见:[视频教程] 写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐 - 掘金 前置条件: android系统源码位于 linux 服务器,ssh 地址假如为:test172.1.10.2本机为windows 1、本机: 下…

【Java基础教程】Java学习路线攻略导图——史诗级别的细粒度归纳,持续更新中 ~

Java学习路线攻略导图 上篇 前言1、入门介绍篇2、程序基础概念篇3、包及访问权限篇4、异常处理篇5、特别篇6、面向对象篇7、新特性篇8、常用类库篇 前言 🍺🍺 各位读者朋友大家好!得益于各位朋友的支持和关注,我的专栏《Java基础…

【Linux后端服务器开发】UDP协议

目录 一、端口号 二、UDP报头格式 三、UDP的特点 四、UDP协议实现网络聊天群 一、端口号 端口号port标识了一个主机上进行通信的不同的应用程序。 0 ~ 1023:系统端口号,HTTP、FTP、SSH等这些广为使用的应用层协议,它们的端口号都是固定…

Qt中QMainWindow的相关介绍

目录 菜单栏 工具栏 状态栏: 停靠窗口: QMainWindow 是标准基础窗口中结构最复杂的窗口,其组成如下: 提供了菜单栏 , 工具栏 , 状态栏 , 停靠窗口 菜单栏:只能有一个,位于窗口的最上方 工具栏:可以有多…

AI制图工具丨Midjourney产品功能介绍

了解如何使用Discord上的Midjourney Bot通过简单的文本提示创建自定义图像 Midjourney是一款AI制图工具,只要关键字,就能透过AI算法生成相对应的图片,只需要不到一分钟。 可以选择不同画家的艺术风格,例如安迪华荷、达芬奇、达利…

基于单片机水质检测系统的设计与实现

功能介绍 以STM32单片机作为主控系统;液晶显示当前参数;PH模块采集当前水质PH酸碱度;DS18B20温度传感器采集当前水体温度;TDS传感器采集当前水体TDS值;浊度传感器采集当前水体浑浊度;按键设置PH、温度、TDS…

Elasticsearch 集群某一节点修改 IP 后无法启动问题复盘

1、集群环境及问题描述 集群版本:6.8.X集群节点:5节点(三个节点为主数据节点,另外两个独立数据节点)。问题描述:由于IP冲突,修改了一台服务器的IP,然后5台配置改了一下一次重启&…

Kafka 深度剖析

1、应用场景 1.1 kafka场景 Kafka最初是由LinkedIn公司采用Scala语言开发,基于ZooKeeper,现在已经捐献给了Apache基金会。目前Kafka已经定位为一个分布式流式处理平台,它以 高吞吐、可持久化、可水平扩展、支持流处理等多种特性而被广泛应用…

flask基本用法小白教程+按钮跳转到指定页面+python和pip安装(后附)

一、flask学习教程: 1.1 基本程序: 大家可以在pycharm中复制如下代码,先感受一下flask的基本用法: 点击链接可进入浏览器查看程序运行的结果,在127.0.0.1:5000后面添上/test1/等设定的文字,可查看不同函…

基于单片机的蓝牙音乐喷泉的设计与实现

功能介绍 以51单片机作为主控系统;通过HM-18蓝牙音频模块进行无线传输; 通过LM386功放模块对音频信号进行放大;手机端可以直接控制音频播放,并且最远距离可达20米;手机端可以进行任意音乐切换,播报、暂停&a…

微信小程序中常见组件的使用

文章目录 微信小程序中常见组件的使用视图组件viewscroll-viewswipermovable-area 基础组件icontextrich-textprogress 表单组件buttoncheckbox、checkbox-grouplabelforminputpicker单列选择器多列选择器时间选择器&日期选择器&地区选择器 picker-viewradiosliderswit…

MySQL数据备份与恢复

目录 ​编辑 一、数据备份 1.1物理备份 1.1.1冷备份 1.1.2热备份 1.1.3温备份 二、逻辑分区 2.1完全分区 2.2差异分区 2.3增量备份 三、数据备份恢复实验 3.1做一个数据 3.2物理冷备份与恢复 3.3mysqldump 备份与恢复(温备份) 3.4Mysql数据…

采集极验4滑块验证码图片数据

在网络安全领域,验证码是一种常见的用于验证用户身份或防止恶意机器人攻击的技术。而极验4滑块验证码作为一种广泛应用的验证码形式,其具有较高的安全性和防御能力。本文将以获取极验4滑块验证码图片数据为主题,介绍相关技术和方法。 一、极…