Android App崩溃crash后,错误日志被覆盖

场景描述

  1. 调试app在使用中出现崩溃。
  2. 当我们把手机连接电脑,在AS的logcat中查看App的运行日志的时候,错误日志在logcat中一闪而过,很快就会被后面的新日志给覆盖掉调。
  3. 并不是所有手机都这样,只有部分手机。如nexus、华为等。

解决办法

方法一

  1. 将logcat过滤器从show only selected application改为No filters。
  2. 将log级别改为error。

方法二

换一个崩溃后不会重启应用的系统。

方法三

使用adb logcat > 1111.txt命令把错误日志导出来,然后自己去找对应的错误日志。

原因分析

为什么有的手机不这样,而有的手机会这样?

某些系统在APP crash之后会自动重启,导致新的日志会覆盖掉以前的日志。而有些系统在crash之后不重启,就不会出现错误日志被覆盖的情况。

为什么奔溃前的错误日志会被覆盖掉?

  1. 在logcat工具栏有下面几个过滤选项:设备、进程、log级别(i、e、v等)、搜索关键词、过滤器。
  2. 正常使用的时候,我们会设备、自己的进程。然后在过滤器上选择show only selected application。这样就能只显示我们自己app的日志了。
  3. 每一个application都是一个进程,对应一个进程号。一个APP在崩溃前和崩溃重启后,是两个进程。
  4. 所当app崩溃并自动重启后,logcat过滤器显示的是重启后新进程的日志。而我们希望看到的错误日志是之前进程的,所以不会显示。

你可能感兴趣的:(Android App崩溃crash后,错误日志被覆盖)