app测试-定位 Logcat 日志中的 Crash 和ANR问题

一、捕获日志

  1. 连接设备

    • 确保你的 Android 设备通过 USB 连接到电脑,并且 USB 调试已启用。
    • 打开命令行或终端窗口。
  2. 验证设备连接

    • 使用以下命令验证设备是否正确连接:
      adb devices
    • 如果设备已连接,你将看到类似以下输出:
      List of devices attached 
      emulator-5554 device

      3.捕获日志

      • 使用 adb logcat 命令捕获日志,并将输出重定向到文件。命令如下:
        adb logcat -v time > D:\log.txt

      • 这条命令会启动日志捕获,并将日志按时间戳格式记录到 D:\log.txt 文件中。

二、重现问题

在捕获日志的过程中,执行可能导致崩溃(Crash)或应用无响应(ANR)的问题操作,尽量重现这些问题。捕获到的日志将包含这些事件的详细信息。

三、停止日志捕获

当问题重现并且日志已捕获完成时,可以通过以下方式停止日志捕获:

  1. 停止日志捕获
    • 在命令行或终端窗口中按 Ctrl + C 停止 adb logcat 命令。

四、分析日志

  1. 打开日志文件

    • 使用文本编辑器(如 Notepad++、Sublime Text、VSCode)打开 D:\log.txt 文件。
  2. 查找崩溃日志

    • 使用搜索功能查找关键字 E/AndroidRuntimeFATAL EXCEPTION 来定位崩溃日志。
    • 关键日志通常包含异常类型(如 NullPointerException)、错误信息和堆栈跟踪。

示例崩溃日志:

07-03 12:34:56.789 E/AndroidRuntime(12345): FATAL EXCEPTION: main
07-03 12:34:56.789 E/AndroidRuntime(12345): Process: com.example.myapp, PID: 12345
07-03 12:34:56.789 E/AndroidRuntime(12345): java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
07-03 12:34:56.789 E/AndroidRuntime(12345):     at com.example.myapp.MainActivity.onCreate(MainActivity.java:25)
07-03 12:34:56.789 E/AndroidRuntime(12345):     ...
  1. 查找 ANR 日志
    • 使用搜索功能查找关键字 ANR in 来定位 ANR 日志。
    • 关键日志通常包含引发 ANR 的原因、进程信息和堆栈跟踪。

示例 ANR 日志:

07-03 12:35:10.123 E/ActivityManager(  123): ANR in com.example.myapp (com.example.myapp/.MainActivity)
07-03 12:35:10.123 E/ActivityManager(  123): PID: 12345
07-03 12:35:10.123 E/ActivityManager(  123): Reason: Input dispatching timed out (Waiting because no window has focus but there is a focused application that may eventually add a window when it finishes starting up.)
07-03 12:35:10.123 E/ActivityManager(  123): Load: 3.45 / 2.31 / 2.10
07-03 12:35:10.123 E/ActivityManager(  123): CPU usage from 8962ms to 0ms ago (2023-07-03 12:35:00.849 to 2023-07-03 12:35:10.811):
07-03 12:35:10.123 E/ActivityManager(  123):  85% 12345/com.example.myapp: 83% user + 2% kernel / faults: 400 minor 2 major
07-03 12:35:10.123 E/ActivityManager(  123): ...

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值