Android 获取奔溃crash的日志(adb logcat或者dropbox)

1.通过adb logcat 来获取

使用场景:测试或者开发小伙伴 抓取。

先执行adb logcat -c 清理缓存日志

接着,抓取当前时间段开始的日志:
adb logcat -v time >D:/crash.log
也可以抓取指定进程的日志:
adb logcat -v time | find "com.xxx" >D:/crash.log

其中-vtime是指log的v级别日志,也可用w 警告级别,time 是输出时间。

最后,执行Ctrl + C 结束抓取。

2.通过dropbox方式来获取系统记录的奔溃日志

使用场景:当无法重现该场景,或者adb logcat 无法抓取时,可以通过dropbox 来查看系统记录的奔溃。

Android DropBox是Android用来持续化存储系统数据的一个管理类,
主要用于记录Android运行过程中, 内核, 系统进程, 用户(app)进程等出现严重问题时的log,可看做是一个可持续存储的系统级别的 logcat.

使用dropbox查看记录的各种异常日志列表:adb shell ls -al /data/system/dropbox ,有些设备上会提示无权限。

将dropbox下多个文件内容输出打印到指定文件中:
adb shell dumpsys dropbox --print >>D:\dropbox\crash.log

打开crash文件,根据时间点找到奔溃信息:
在这里插入图片描述
通过该日志,很容易判断是: 系统进程引起还是app进程自身导致奔溃

dropbox日志文件中 进程奔溃类型:

system_server_anr:system进程无响应
system_server_watchdog:system进程发生watchdog
system_server_crash:system进程崩溃
system_server_native_crash:system进程native出现崩溃
system_server_wtf :system进程发生严重错误
system_server_lowmem :system进程内存不足
当然除了system_server进程, 还有system_app, data_app类型的进程, 以上所有类型都适用,列举部分:
system_app_crash: 系统app崩溃
system_app_anr: 系统app无响应
data_app_crash: 普通app崩溃
data_app_anr: 普通app无响应

更多分析,请阅读https://wizzie.top/android/android_dropbox/

猜你喜欢

转载自blog.csdn.net/hexingen/article/details/130421006