【Android】bug report

Android 的所有版本都支持通过 Android 调试桥 (adb) 获取错误报告;Android 4.2 及更高版本提供一个用于获取错误报告以及通过电子邮件、云端硬盘等分享报告的开发者选项。

获取bugreport,操作如下:

1.确保您已启用“开发人员选项”。
2.在开发者选项中,点按bug report。
3.等待片刻之后,您会收到一条通知,指出 Bug 报告已准备就绪如:Bug report #1 captured。
4.使用命令adb pull /data/user_de/0/com.android.shell/files/bugreports/ D:\logs\SEI300-254-2导出bugreport

bugreport 定位信息

  • 查看事件日志
    该日志中包含将二进制格式转换成了字符串形式的日志消息。它比 logcat 日志要清晰明了,但也有些难以阅读。在查看事件日志时,您可以在这一部分中搜索特定进程 ID (PID),以查看相应进程一直在做什么。基本格式为:timestamp PID TID log-level log-tag tag-values。
    日志级别包括以下几种:
    V:详细
    D:调试
    I:信息
    W:警告
    E:错误

ANR 和死锁

找出导致应用无响应 (ANR) 错误和死锁事件的原因,某个应用在一定时间内没有响应(通常是由于主线程被阻塞或繁忙)时,系统会终止该进程并将堆栈转储到 /data/anr。要找出 ANR 背后的罪魁祸首,请为二进制事件日志中的 am_anr 执行 grep 命令
grep "am_anr" bugreport-2015-10-01-18-13-48.txt

Activity

Activity 是一种应用组件,一个 Activity 是用户可以执行的一项明确具体的操作。Activity 通过 ActivityManager 运行进程,因此找出指定 Activity 的所有进程停止和启动事件也有助于进行问题排查。

  • 查看处于聚焦状态的 Activity grep "am_focused_activity" bugreport-2015-10-01-18-13-48.txt
  • 查看进程启动事件 grep "Start proc" bugreport-2015-10-01-18-13-48.txt
  • 确定设备是否发生系统颠簸,请检查在 am_proc_died 和 am_proc_start 前后的短时间内是否出现活动异常增加 grep -e "am_proc_died" -e "am_proc_start" bugreport-2015-10-01-18-13-48.txt

内存

  • 查看历史指标
    am_low_memory 条目表示最后一个缓存的进程已终止。在此之后,系统开始终止各项服务 grep "am_low_memory" bugreport-2015-10-01-18-13-48.txt
  • 查看系统颠簸指标
    关于系统颠簸(分页、直接回收等)的其他指标包括 kswapd、kworkermmcqd 消耗的 CPU 周期。(请注意,收集错误报告可能会影响系统颠簸指标。)

广播

  • 查看历史广播
    历史广播是指已发送的广播,按时间逆序排列。
    summary(摘要)部分用于提供最近 300 个前台广播和最近 300 个后台广播的概况。
    grep summary bugreport.txt
    detail(详情)部分包含最近 50 条前台广播和最近 50 条后台广播的完整信息,以及每个广播的接收方。其中:
    具有 BroadcastRecord 条目的接收方是在运行时注册的,并且只会被发送到已在运行的进程。
    具有 ResolveInfo 条目的接收方是通过清单条目注册的。ActivityManager 会为每个 ResolveInfo 启动相应进程(如果相应进程尚未在运行)。
    grep detail bugreport.txt

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值