调试系列2:bugreport实战篇

682 查看

一、Bugreport

文章 Bugreport源码篇(一) 从源码角度阐释了Bugreport,那么本文则是从实战角度来说说,如何看懂bugreport,对于通过bugreport获取到内容往往非常长,这里简单划分为19部分,先整体上简单说说每部分log的title信息。

1. 系统build相关信息

系统build信息:

  • dumpstate: date
  • Build: getprop ro.build.display.id
  • Build fingerprint: getprop ro.build.fingerprint
  • Bootloader: getprop ro.bootloader
  • Radio: getprop ro.baseband
  • Network: getprop gsm.operator.alpha
  • Kernel: dump_file /proc/version
  • Command line: cat /proc/cmdline

系统运行时间:

  • up time:系统运行时长
  • idle time:系统空闲时长
  • sleep time:系统休眠时长
  • elapsed: uptime指令执行时长

2. 内存/CPU/进程等信息

下面列举bugreport结果相关项的title,其中括号中内容便是相应的命令

这里的涉及的信息较多,这里就先介绍下/sys/block/mmcblk0/:

命令:dump_files(“UPTIME MMC PERF”, mmcblk0, skip_not_stat, dump_stat_from_fd); 输出/sys/block/mmcblk0/stat节点以及遍历/sys/block/mmcblk0/mmcblk0p/stat。

另外read = 512data3/data4, write = 512data7/data8。

Name 单位 含义
read I/Os requests 已处理的I/O读操作请求个数
read merges requests I/O读操作的合并请求个数
read sectors sectors(512B) 读取的扇区数
read ticks ms 读请求的总等待时间
write I/Os requests 已处理的I/O写操作请求个数
write merges requests I/O写操作的合并请求个数
write sectors sectors(512B) 写入的扇区数
write ticks ms 写请求的总等待时间
in_flight requests 正在处理中的I/O请求数
io_ticks ms 该块设备处于活跃态的总时长
time_in_queue ms 所有请求的总等待时长

3. kernel log

内核log信息,通过命令dmesg可获取