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

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至仓库

C语言的UDP多线程点对点发送消息

windows下使用Dev C调试 Server段&#xff1a; /** * 编译命令&#xff1a;gcc udps.c -lws2_32 -lmycon -lwinmm -o us.exe */ #include <stdio.h> #include <winsock2.h> #include <mycon.h>struct sockaddr_in serveraddr; struct sockaddr_in clien…

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

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

【Docker】Docker基本管理命令

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

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

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

HTML <meter> 标签

实例 使用 meter 元素来度量给定范围(gauge)内的数据: <meter value="3" min="0" max="10">十分之三</meter><meter value="0.6">60%</meter> 浏览器支持 元素ChromeIEFirefoxSafariOpera<meter>8…

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

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

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

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

ffmpeg将视频导出iphonemp4格式

对于短视频的剪辑&#xff0c;目前来说手机性能足够&#xff0c;现在很多家庭如果没有前几年的网课需求基本也不会买电脑。 将mp4视频导入iphone的时候&#xff0c;mp4是容器格式&#xff0c;不是所有mp4格式都支持。用格式工厂一类的转换太慢。所以考虑用ffmpeg。 转换 wmv转…

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

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

Android系统开发-入门篇

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

python爬虫试手

同事让帮忙在某个网站爬点数据&#xff0c;首次尝试爬虫&#xff0c;遇到的问题及解决思路记录下。 大体需求是需要爬取详情页内的信息&#xff0c;详情页有一定格式规律&#xff0c;但是详情页需要从列表页跳入&#xff0c;列表页中的每一条记录需要鼠标悬停才会弹出跳转链接…

【课程介绍】XPath 之旅:自动化爬虫入门探索

[ 专栏推荐 ] &#x1f603; 《XPath 之旅&#xff1a;自动化爬虫入门探索》&#x1f604; ❤️【简介】&#xff1a; XPath 基础教程适合初学者&#xff0c;旨在帮助学习者掌握 XPath 元素定位的基本原理和常用技巧。学习完这套课程&#xff0c;你将能够熟练使用 XPath 在 HT…

深入理解mysql的锁和mvcc

基础 1 锁讲解&#xff1a;面试必备-行锁、表锁 - 乐观锁、悲观锁的区别和联系 2 mvcc机制讲解&#xff08;如何实现各种隔离级别&#xff09;&#xff1a;数据库基础&#xff08;四&#xff09;Innodb MVCC实现原理 刚读完上面两篇内容&#xff0c;可能会有很多疑惑的地方&…

repo和git的常用命令

repo 简介 repo是Google开发的用于管理Android版本库的一个工具&#xff0c;repo是使用Python对git进行了一定的封装&#xff0c;并不是用于取代git&#xff0c;它简化了对多个Git版本库的管理。用repo管理的版本库都需要使用git命令来进行操作。因此&#xff0c;使用repo工具…

k8s证书到期实际操作

文章目录 1. 百年的kubeadm1.1 源码修改1.2 准备镜像1.3 编译1.4 成品备份 2. 生成证书2.1 master主节点2.2 其他master节点 1. 百年的kubeadm 1.1 源码修改 源码下载 cd /usr/local/src/ git clone -b release-1.15 https://github.com/kubernetes/kubernetes.git再次确认分…

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

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

Vue2 - 模板、渲染、事件处理、表单输入绑定

文章目录 模板语法1、文本2、原始 HTML3、属性 Attribute4、使用 JavaScript 表达式 条件渲染1、v-if2、v-else3、v-show4、v-if vs v-show 的区别 列表渲染1、用 v-for 把一个数组映射为一组元素2、维护状态 事件处理1、监听事件 v-on2、事件处理方法3、内联处理器中的方法 表…

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

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

随手笔记——OpenCV 的基础使用方法

随手笔记——OpenCV 的基础使用方法 说明CMakeLists.txt关键内容源代码 说明 演示了如下几个操作&#xff1a;图像读取、显示、像素遍历、复制、赋值等。大部分的注解已写在代码里面。编译该程序时&#xff0c;需要在 CMakeLists.txt 中添加 OpenCV 的头文件&#xff0c;然后把…