记一次adb查找安卓App崩溃报错记录

这篇具有很好参考价值的文章主要介绍了记一次adb查找安卓App崩溃报错记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

记一次adb查找安卓App崩溃报错记录

首先先说结论,是因为内存不足的时候会出现这种问题
在小米手机上有这么一个设置
记一次adb查找安卓App崩溃报错记录
可以很方面的模拟出这个异常
然后我们再设置一下logcat日志的大小
如果你的操作真的很多,最好设置一下,如果你的操作很短就可以复现,那就没必要调整,256k足矣
记一次adb查找安卓App崩溃报错记录
然后就是手机连接电脑
然后打开命令行工具清空logcat日志

adb logcat -c

然后查看日志

#需要打印时间和级别是Error的信息
adb logcat -v time *:E

这里只是在cmd上打印日志,很快,你可能来不及,那就下载日志,不是已经清理了之前的日志么,我们再执行命令

adb logcat -v time >C:/Users/EDY/Desktop/work/logcat.txt

这个时候就会把logcat日志传输到本地,但是注意,等你操作完了,就可以关闭adb窗口了,要不然他会一直往windows本地的文件里写入日志,关闭后就不写入了
然后搜索“FATAL”关键字
记一次adb查找安卓App崩溃报错记录
就可以定位到错误信息了,至于真正的错误原因,就得让开发看了

如果你遇到了ANR
那还得看trace日志
以小米手机为例子
可能遇到两个问题
一个是大家都说adb pull /data/anr/traces.txt
但是自己去pull的时候报错
记一次adb查找安卓App崩溃报错记录
那是因为不同的手机厂商他的文件命名可能不同
记一次adb查找安卓App崩溃报错记录
但是我们也不清楚哪个是我们要的文件,那我们就尝试先pull一个,发现了第二个问题,权限不足,那就可以使用

adb bugreport

记一次adb查找安卓App崩溃报错记录
他会告诉你把文件放到哪里了
然后解压,再解压后的文件里就有anr目录下所有的东西了

记一次adb查找安卓App崩溃报错记录

怎么确定哪个文件是我们需要的,我们可以根据日志的时间来看,看哪个是你操作的时间附近
打开之后,看看是不是你的包报的错误
记一次adb查找安卓App崩溃报错记录
怎么确定报错信息在哪里
下面的内容是我抄的
首先,我们可以根据发生ANR的app包名和时间能确定ANR日志的地方,通常是再traces内容的最上面。
记一次adb查找安卓App崩溃报错记录

然后ANR必然是主线程异常,我们可以找到"main"线程部分,查看main线程相关状态。
记一次adb查找安卓App崩溃报错记录

可以很明确的看到主线程sleeping了,通常在多线程开发中,比较容易遇到的是blocked状态导致的ANR

其次我们可以继续找到下面的线程调用栈信息
记一次adb查找安卓App崩溃报错记录

这块我们就比较熟悉,和查看普通的异常一样,可以很明确的知道ANR 发生在MainActivity 28行处,原因是Thread.sleep(),此时我们再回到上面自己的代码层面,结果已经很明确。

当然,实际开发中的ANR通常不会这么简单,有些也没那么容易分析,这个就需要大家通过此篇文章的借鉴,结合实际开发多分析,多优化来增长自己的能力。

线程状态
对于上述线程状态,相对于java线程状态,Linux细化了很多状态,这样更便于分析当前的状态。

java中的线程和操作系统内核中的线程并不是等价关系。他们之间存在着映射关系,对Android来说,java中的线程和内核的线程是一对一关系。
记一次adb查找安卓App崩溃报错记录文章来源地址https://www.toymoban.com/news/detail-420542.html

到了这里,关于记一次adb查找安卓App崩溃报错记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 记一次 .NET 某企业采购平台 崩溃分析

    前段时间有个朋友找到我,说他们的程序有偶发崩溃的情况,让我帮忙看下怎么回事,针对这种 crash 的程序,用 AEDebug 的方式抓取一个便知,有了 dump 之后接下来就可以分析了。 既然是程序的崩溃,我们可以像看蓝屏一下看dump文件,使用 !analyze -v 命令即可。 从上面的信息

    2024年02月11日
    浏览(44)
  • 记一次 Windows10 内存压缩模块 崩溃分析

    在给各位朋友免费分析 .NET程序 各种故障的同时,往往也会收到各种其他类型的dump,比如:Windows 崩溃,C++ 崩溃,Mono 崩溃,真的是啥都有,由于基础知识的相对缺乏,分析起来并不是那么的顺利,今天就聊一个 Windows 崩溃的内核dump 吧,这个 dump 是前几天有位朋友给到我的

    2023年04月26日
    浏览(28)
  • 记一次应用程序池崩溃问题分析

    IIS部署的asp.net core服务,前端进行一些操作后,经常需要重新登陆系统。 根据日志,可以看到服务重新进行了初始化,服务重启应该与IIS应用程序池回收有关,查看IIS相关日志,在windows的事件查看器=Windows日志=系统,来源为WAS的日志(参考博客)。 根据IIS日志与服务日志对比

    2024年02月04日
    浏览(38)
  • 记一次 .NET某股票交易软件 灵异崩溃分析

    在dump分析的旅程中也会碰到一些让我无法解释的灵异现象,追过这个系列的朋友应该知道,上一篇我聊过 宇宙射线 导致的程序崩溃,后来我又发现了一例,而这一例恰恰是高铁的 列控连锁一体化 程序,所以更加让我确定这是由于 电离辐射 干扰了计算机的 数字信号 导致程

    2024年02月04日
    浏览(33)
  • 记一次 .NET某列控连锁系统 崩溃分析

    过年喝了不少酒,脑子不灵光了,停了将近一个月没写博客,今天就当新年开工写一篇吧。 去年年初有位朋友找到我,说他们的系统会偶发性崩溃,在网上也发了不少帖子求助,没找到自己满意的答案,让我看看有没有什么线索,看样子这是一个牛皮藓的问题,既然对方有了

    2024年02月21日
    浏览(45)
  • 记一次 .NET 某埋线管理系统 崩溃分析

    经常有朋友跟我反馈,说看你的文章就像看天书一样,有没有一些简单入手的dump 让我们先找找感觉,哈哈,今天就给大家带来一篇入门级的案例,这里的入门是从 WinDbg 的角度来阐述的,这个问题如果你通过 记日志,分析代码 的方式,可能真的无法解决,不信的话继续往下

    2024年02月11日
    浏览(43)
  • 记一次 .NET某炉膛锅炉检测系统 崩溃分析

    上个月有个朋友在微信上找到我,说他们的软件在客户那边隔几天就要崩溃一次,一直都没有找到原因,让我帮忙看下怎么回事,确实工控类的软件环境复杂难搞,朋友手上有一个崩溃的dump,刚好丢给我来分析一下。 windbg 有一个厉害之处在于双击之后可以帮你自动定位到崩

    2024年04月17日
    浏览(37)
  • 记一次服务器Cuda驱动崩溃修复过程

    今天实验室师兄在服务器运行深度学习训练时候得到报错CUDA initialization: Unexpected error from cudaGetDeviceCount()疑似Cuda与NVIDIA显卡驱动沟通中出现了问题,使用 nvidia-smi 指令时提示 Failed to initialize NVML: Driver/library version mismatch ,经过沟通了解到,重启与重新配置Cuda环境均未能解决

    2024年02月08日
    浏览(44)
  • 记一次 .NET 某旅行社审批系统 崩溃分析

    前些天有位朋友找到我,说他的程序跑着跑着就崩溃了,让我看下怎么回事,其实没怎么回事,抓它的 crash dump 就好,具体怎么抓也是被问到的一个高频问题,这里再补一下链接: [.NET程序崩溃了怎么抓 Dump ? 我总结了三种方案] https://www.cnblogs.com/huangxincheng/p/14811953.html ,采用

    2024年02月09日
    浏览(36)
  • 记一次 .NET某新能源检测系统 崩溃分析

    前几天有位朋友微信上找到我,说他的程序会偶发性崩溃,一直找不到原因,让我帮忙看一下怎么回事,对于这种崩溃类的程序,最好的办法就是丢dump过来看一下便知,话不多说,上windbg说话。 对于一个崩溃类的dump,寻找崩溃点非常重要,常用的命令就是 !analyze -v ,输出如

    2024年02月08日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包