手机重启问题 Log 抓取方法

2023-05-16

 

极力推荐文章:欢迎收藏
Android 干货分享 

 

本篇文章主要介绍展讯平台手机开发中的部分重启问题知识点,通过阅读本篇文章,您将收获以下内容:

一、 User 版本 默认开启 sysdump 方法
二、插入SD卡 抓取Sysdump log
三、 sysdump log 分析
四、展讯平台抓取重启 串口log的方案
五、展讯平台判断重启类型
六、展讯平台关闭 sysdump 与watchdog关联
七、展讯平台手动触发sysdump 方法

一、 User 版本 默认开启 sysdump 方法

首先,为什么要这么干?
主要原因是,展讯平台部分重启问题,同样的代码,userdebug 版本无法复现,User 版本 可以复现,这样才有此默认开启sysdump的方案。

那么展讯平台user版本默认开启sysdump 方案

修改一下代码
device\sprd\xxxx\common\rootdir\root\init.common.rc
在 on post-fs-data 下添加:

// 设置 Ylog 默认开启开关 1 开启,0或不写 关闭
setprop persist.ylog.enabled 1
start ylog
// 设置sysdump 默认开关属性值 开启为true  关闭 false
setprop debug.sysdump.enabled true
setprop persist.sys.eng.reset 0

在代码中添加后,可以进行一下操作查看是否成功

    1. 确认是否开启sysdump 开关

*#*#83781#*#* (进入工程模式菜单) ->DEBUG&LOG -> YLog-> Setting -> Sysdump Enable (开启sysdump)

    1. 确认是否开Ylog

*#*#83781#*#*(进入工程模式菜单)->DEBUG&LOG -> YLog (开启ylog)

Ylog关闭,sysdump 开关默认开启

二、插入SD卡 抓取Sysdump log

注意事项 一定要 插入4G及以上的SD卡,否则无法抓的重启的dump log

一定要 插入4G及以上的SD卡,否则无法抓的重启的dump log

三、 sysdump log 分析

插入SD 卡后,成功dump log信息如下:

dump log 成功的界面

dump log成功后,我们需要解析 sysdump log,解析过程中需要使用对应版本的 vmlinux (out/target/product/sp9832e_1h10_go/obj/KERNEL/vmlinux) 以及
crash_arm (vendor/sprd/tools/crash/crash_arm) 解析脚本来解析dumpcore 文件。

新建解析dump log目录

    1. 将 vmlinux 、crash_arm、 sysdump log 放置同一目录
cp out/target/product/sp9832e_1h10_go/obj/KERNEL/vmlinux  reboot/
cp vendor/sprd/tools/crash/crash_arm reboot/

将 vmlinux crash_arm sysdump log 放置同一目录

    1. 将 sysdump 所有文件 追加到一个文件中

将sysdump 所有文件 追加到一个文件中

    1. 使用 crash_arm 脚本 联合 vmlinux 解析 sysdump log

使用 crash_arm 脚本 联合 vmlinux 解析sysdump log

    1. 使用 Log 命令 将 Crash log追加到指定文件中

使用 log 命令 读取log 到指定文件

    1. 查看log,分析重启的具体原因

重启log举例

  • 6.参考调试命令

32 位系统调试命令

./crash_arm -m phys_base=0X80000000 --cpus number2 vmlinux  all 

64 位系统调试命令

./crash_arm64 vmlinux all -m phys_offset=0x80000000

四、展讯平台抓取重启 串口log的方案

  1. 调高 Kernel log 等级为 7

修改代码路径如下:
kernel/arch/arm/boot/dts/<sprd-xx-yourboard>.dts,将bootargs = ""里修改loglevel字段 1 修改为 7 loglevel=7, console=ttyS1,115200n8 。

搜索关键字 loglevel 即可。

调高 **Kernel log** 等级为 **7**

  1. 将 logcat log 重定向到 串口

修改init.common.rc代码(device/sprd/sharkle/common/rootdir/root/init.common.rc)。
在 init 脚本中添加 logcat 重定向 Service .

+service logcat /system/bin/logcat -f /dev/kmsg *:w
    + class main
    + user root
    + group log
    + oneshot

on boot
    chown system system /proc/wcn_gnss/start
    chown system system /proc/wcn_gnss/stop

  1. disabble SElinux

在 init.cpp (/system/core/init/init.cpp)中,让selinux_is_enforcing(void)函数直接返回false,同时注掉selinux_status_from_cmdline()函数。

#if 0
static selinux_enforcing_status selinux_status_from_cmdline() {
    selinux_enforcing_status status = SELINUX_ENFORCING;

    import_kernel_cmdline(false, [&](const std::string& key, const std::string& value, bool in_qemu) {
        if (key == "androidboot.selinux" && value == "permissive") {
            status = SELINUX_PERMISSIVE;
        }
    });

    return status;
}
#endif

static bool selinux_is_enforcing(void)
{
#if 0
    if (ALLOW_PERMISSIVE_SELINUX) {
        return selinux_status_from_cmdline() == SELINUX_ENFORCING;
    }
    return true;
#else
    return false;
#endif
}

五、展讯平台判断重启类型

  1. main.log 中查看

在 main.log 中搜索关键字 bootmode

搜索关键字 bootmode

2.在 phone.info 文件中查看

在 Ylog ->poweron->aplog 目录下的phone.info 文件中 搜索关键字 bootmode

搜索关键字 bootmode

  1. Sysdump中查看触发重启dump的类型

重启类型信息保存文件路径

Kernel panic 重启

手动触发sysdump 重启

六、展讯平台关闭 sysdump 与watchdog关联

关闭sysdump 与watchdog关联,防止开启sysdumpwatchdog被默认关闭,导致无法抓取复现到重启logdump

修改文件路径如下:
kernel/drivers/soc/sprd/debug/sysdump/sysdump.c

            sysdump_status = 1;
            sprd_set_reboot_mode("dumpenable");
            set_sysdump_enable(1);
//****************
-           sysdump_enable_watchdog(0);
//*************
        } else if (!strncmp(sysdump_buf, "off", 3)) {
            pr_emerg("sprd_sysdump_write: disable user version sysdump!!!\n");
            sysdump_status = 0;

删除 sysdump_enable_watchdog

七、展讯平台手动触发sysdump方法

    1. Kernel未完全死掉时候,触发SWT(优先方案)

手动触发方案:
同时按住音量+ 、音量- 、然后双击Power键

    1. Kernel完全死掉,触发HWT

手动触发方案:
长按Power 键、 音量+

长按识别二维码,领福利

至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

如有侵权,请联系小编,小编对此深感抱歉,届时小编会删除文章,立即停止侵权行为,请您多多包涵。

小礼物走一走,来简书关注我

赞赏支持

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

手机重启问题 Log 抓取方法 的相关文章

  • SecureCRT串口log输出时间信息

    原文地址 SecureCRT串口log输出时间信息 wfzlry的博客 CSDN博客 securecrt显示时间 目录 0 SecureCRT版本信息 1 连接串口之前的全局设定 xff1a 2 Quick Connect连接串口 3 查看
  • Asp.net core3.1 框架中 采用Serilog实现log日志记录

    本文以MVC框架为例 xff0c 实现log记录 在默认情况下 xff0c asp net core有自带的可实现将日志输出到控制台 xff0c 注意 xff0c 此时需要 xff0c 运行时 xff0c 要运行自托管模式才能调出控制台 如
  • SecureCRT产生log日志

    SecureCRT产生log日志 打开一个串口 xff0c 第一步 xff1a 第二步 xff1a 在这一步 xff0c 需要选择合适的端口号和波特率等 第三步 xff1a 选择 34 properties 34 第四步 xff1a 找到
  • Android中的Log输出

    安卓系统的代码量十分庞大 xff0c 无法使用Jlink之类的工具进行单步调试 xff0c 因而日志系统十分有必要 为此 xff0c 安卓开发了Log日志类用于开发者的日常调试使用 Log中配置了五种Log类 xff0c 分别表示打印五类不
  • Docker启动MySQL在log日志中发现报错unknown variable ‘default_character_set=utf8‘.

    问题 xff1a 前一天我将mysql配置好了 xff0c 就关闭了 xff0c 第二天重新启动mysql容器发现刚启动完 xff0c 就停止掉了 xff0c 很离谱 xff01 xff01 xff01 解决方案 xff1a docker
  • nginx access.log 忽略favicon.ico访问记录的方法

    favicon ico 文件是浏览器收藏网址时显示的图标 xff0c 当第一次访问页面时 xff0c 浏览器会自动发起请求获取页面的favicon ico文件 当 favicon ico文件不存在时 xff0c 服务器会记录404日志 12
  • 用QXDM获取log的方法说明

    用 QXDM 获取 log 的方法说明 对于获取 LOG 可能我们会有一些误解 测试人员害怕得到的 LOG 信息不全 而将所有的选项都选上 希望能够得到最全的 LOG 其实不然 受到手机及手机与 PC 的通讯限制 如果选择保存所有的 LOG
  • GNURadio中运行ofdm_rx报错:gr::log :INFO: packet_headerparser_b0 - Detected an invalid packet at item ××

    修改方法 xff1a 减小发送端的乘数因子 但是本着知其然还要知其所以然的学习态度 xff0c 下面就解释下出现这种现象的原因 xff1a 2021 10 28 更新 xff1a 在实际的测试中发现 xff0c 引起该问题的原因还有可能是接
  • log以2为底的对数

  • 解决mininet运行报错“ImportError: No module named mininet.log”

    解决mininet运行报错 ImportError No module named mininet log 运行环境 系统Ubuntu 04 安装Mininet 2 3 0d6问题描述 运行miniedit py时报错ImportError
  • linux /var/log/httpd 清理错误日志方法

    报错 xff1a 启动httpd报错 Job for httpd service failed 没有空间 linux中var磁盘满了的问题 BugSayNo的博客 CSDN博客 var目录满了有什么影响
  • 找不到系统安全日志/var/log/secure文件的问题

    今天打算配置一个服务器防止暴力破解的脚本 xff0c 原理不复杂 xff0c 搜索登录错误超过一定次数的ip地址 xff0c 加入防火墙 xff0c 但是在找登录日志的时候出现了问题 一般服务器的ssh登录等操作日志都是 var log s
  • Canal 读取 mysql bin_log

    场景 xff1a 在微服务开发的过程中多个项目协同完成一个功能 xff0c 工程与工程之间存在数据上的解耦 xff0c 底层服务为上层服务提供数据 而底层服务有需要对数据进行管理 解决方案 xff1a 基本底层服务 通过 canal 获取
  • springboot开启access_log日志输出

    由于在调试时需要查看access log日志 xff0c 但是springboot默认并没有开启 xff0c 因此查看了一下文档 xff0c 在springboot的配置文件中添加如下设置 xff0c 即可将日志输出当磁盘文件中以供查看 日
  • logback.xml日志文件配置说明

  • 【mmdetection 】analyze_logs.py等工具测试

    绘制一些运行的分类损失 python tools analyze logs py plot curve work dirs faster rcnn r50 fpn 1x 20200306 175509 log json keys loss
  • spingboot默认日志系统LogBack、Log4j和slf4j使用详解

    spingboot默认日志系统LogBack Log4j和slf4j使用详解 spingboot默认日志系统LogBack 依赖引入 Spring Boot默认使用LogBack日志系统 如果不需要更改为其他日志系统如Log4j2等 则无需
  • 阿里云 日志服务接入

    目前项目中都有用到日志记录 一般会存到本地 但是时间长了 去删除也是很麻烦的 阿里云日志服务 是个不错的选择 可分为两种 自动采集和自动上传到云 1 写文件到本地 然后配置 让阿里云自动采集 LogHub 支持客户端 网页 协议 SDK A
  • 如何使用 Rsyslog 和 MySQL 设置 LogAnalyzer

    本文是文章的第二部分使用 MySQL 和 LogAnalyzer 设置 Rsyslog在 CentOS RHEL 系统上 在里面第一部分我们已经将Rsyslog与MySQL数据库服务器集成 所有日志现在都保存在数据库中 下面是我们在第 1
  • Android Log系统介绍 (基于Android N)

    原文使用有道云笔记创作 看这个 http note youdao com noteshare id 82f88b1c82652b80c27d54aad55af035 引言 gt Android 的log 从操作系统分层上来讲 可以分为 Ke

随机推荐

  • 【测试沉思录】17. 性能测试中的系统资源分析之四:网络

    作者 xff1a 马海琴 编辑 xff1a 毕小烦 计算机网络 xff0c 就是通过光缆 电缆 电话线或无线通讯将两台以上的计算机互连起来的集合 xff0c 包括广域网 城域网 局域网和无线网 计算机网络是传输信息的媒介 我们常说的千兆网
  • 【测试沉思录】18.如何测试微信小程序?

    作者 xff1a 雷远缘 编辑 xff1a 毕小烦 一 先知道小程序是什么 啥是小程序 xff1f 小程序是一种不需要下载安装即可使用的应用 xff0c 它实现了应用 触手可及 的梦想 xff0c 用户扫一扫或者搜一下即可打开应用 也体现了
  • 【测试沉思录】19. 如何设置 JMeter 线程组?

    作者 xff1a 宋赟 编辑 xff1a 毕小烦 最近有不少测试同学问我 JMeter 线程组如何设置并发的问题 xff0c 发现很多人对线程组里的参数不是很清楚 xff0c 今天就科普一下 JMeter 线程组的信息 xff0c 也简单介
  • 【测试沉思录】20. 如何做好测试需求分析?

    作者 xff1a 刘亚茹 编辑 xff1a 毕小烦 我们都知道测试用例是软件测试中保障质量的必要手段 xff0c 而测试需求作为用例编写的主要依据却往往被很多人忽视 到底什么是测试需求 xff1f 又如何做好测试需求分析呢 xff1f 本文
  • 【测试沉思录】21. 如何用 JMeter 编写性能测试脚本?

    作者 xff1a 宋赟 编辑 xff1a 毕小烦 Apache JMeter 应该是应用最广泛的性能测试工具 怎么用 JMeter 编写性能测试脚本 xff1f 1 编写 HTTP 性能测试脚本 STEP 1 添加 HTTP 请求 STEP
  • 【测试沉思录】21. 如何用 JMeter 编写性能测试脚本?

    作者 xff1a 宋赟 编辑 xff1a 毕小烦 Apache JMeter 应该是应用最广泛的性能测试工具 怎么用 JMeter 编写性能测试脚本 xff1f 1 编写 HTTP 性能测试脚本 STEP 1 添加 HTTP 请求 STEP
  • 【测试沉思录】22. 前端性能测试怎么做?

    作者 xff1a 张丹青 编辑 xff1a 毕小烦 普通用户如何评价一个网站的体验好不好呢 xff1f 除了满足他的功能需求以外 xff0c 用得爽不爽可能是最大的评估因素 这个爽不爽可以简单理解为快不快 xff0c 好不好看 xff0c
  • 【测试沉思录】23. 如何实现基于场景的接口自动化测试用例?

    作者 xff1a 陈爱娇 编辑 xff1a 毕小烦 自动化本身是为了提高工作效率 xff0c 不论选择何种框架 xff0c 何种开发语言 xff0c 我们最终想实现的效果 xff0c 就是让大家用最少的代码 xff0c 最小的投入 xff0
  • 搭建linux服务器详细教程

    Linux服务器的部署 xff0c 配置 xff0c 搭建步骤 xff1a 1 准备 xff1a 1 1 jdk1 8 xff1a jdk 8u11 linux x64 tar gz tomcat xff1a apache tomcat 8
  • 使用Word2013写论文的时候,波浪号(~)一直在一行的上面,无法上下居中 的解决方案

    这里提供四种方法给大家 xff0c 不用谢 xff01 1 搜狗输入法 xff0c 直接打 blh xff0c 即可获得波浪号 xff08 这个方法大多数地方都可以用 xff0c 比如打摄氏度符号 xff08 xff09 的时候 xff09
  • centos7.4安装图形界面并远程桌面连接

    1 系统版本 CentOS release 6 2 Final 以下安装需要用root权限操作 2 安装x windows yum groupinstall y X Window System 注意有引号 3 安装图形界面软件 GNOME
  • linux服务器更改网络配置

    文章目录 前言一 更改vmware的虚拟网络配置二 修改window的网络配置三 修改虚拟机内部的配置四 映射 选做 修改hostname修改hosts修改windows的配置验证 前言 linux服务器更改网络配置 xff0c 是为让它的
  • FastBoot 刷机教程

    本篇文章主要介绍 Android 开发中的 FastBoot 部分知识点 xff0c 通过阅读本篇文章 xff0c 您将收获以下内容 一 Fastboot 简介 欢迎关注微信公众号 程序员Android 微信公众号 xff1a Progra
  • Google GMS Crash 优化方案

    极力推荐文章 xff1a 欢迎收藏 Android 干货分享 阅读五分钟 xff0c 每日十点 xff0c 和您一起终身学习 xff0c 这里是程序员Android GMS GoogleMobile Service 包是出口国外手机中 Go
  • FastBoot 刷机使用方法

    和你一起终身学习 xff0c 这里是程序员Android 经典好文推荐 xff0c 通过阅读本文 xff0c 您将收获以下知识点 一 Fastboot 简介 二 Fastboot 刷机准备 三 Fastboot 刷机命令 四 其他刷机工具
  • Android 系统奔溃触发WatchDog分析

    和你一起终身学习 xff0c 这里是程序员Android 经典好文推荐 xff0c 通过阅读本文 xff0c 您将收获以下知识点 一 前言 二 场景介绍 三 分析trace文件 一 前言 作为一个Android开发者 xff0c 不管是Ap
  • Android 人脸解锁源码剖析

    和你一起终身学习 xff0c 这里是程序员Android 经典好文推荐 xff0c 通过阅读本文 xff0c 您将收获以下知识点 一 人脸识别身份验证HIDL 二 人脸模块流程分析 三 人脸录入 四 人脸匹配 五 人脸解锁屏幕 一 人脸识别
  • Android 手机按键客制化详解

    在Android 中会有以下5个按键 xff08 Back Home Menu Power Volume xff09 与用户进行交互 xff0c Framework 层中实现按键功能 xff0c 因此 xff0c 从手机系统定制的角度 xf
  • 基python实现多线程网页爬虫

    一般来说 xff0c 使用线程有两种模式 一种是创建线程要执行的函数 把这个函数传递进Thread对象里 xff0c 让它来执行 另一种是直接从Thread继承 xff0c 创建一个新的class xff0c 把线程执行的代码放到这个新的c
  • 手机重启问题 Log 抓取方法

    极力推荐文章 xff1a 欢迎收藏 Android 干货分享 本篇文章主要介绍展讯平台手机开发中的部分重启问题知识点 xff0c 通过阅读本篇文章 xff0c 您将收获以下内容 一 User 版本 默认开启 sysdump 方法 二 插入S