分析logcat/tracert.txt日志文件

logcat日志文件

> android日志系统提供了记录和查看系统调试信息的功能,日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以通过logcat命令来查看和调用

使用方式:

[adb]logcat[<option>]...[<filer-spec>]..

> logcat是以如下开头的:

1.-----------  beginning of xxx

> 开发者选项,有个选项叫做“日志记录器缓冲区大小”,默认是256K,日志是循环写入环形缓冲区的,在通常情况下,写满时最旧的日志会被删除以给新输出的日志留内存空间

logcat缓冲区

android_log输出量巨大,特别是通信系统的log,因此,android把log输出到不同的缓冲区,目前定义了四个log缓冲区:

\bullet  Radio:输出通信系统的log

\bullet  System:输出系统组件的log

\bullet  Events:输出event模块的log

\bullet  Main:所有java层的log(不属于上面3层的log)

如想输出通信系统的log:adb logcat -b radio

默认log输出(不指定缓冲区的情况下)是输出System和Main缓冲区的log

logcat日志文件分析

由五部分组成:

1.写下日志时的时间adb logcat -v time

2.优先级,在Android中,日志的优先级从低到高分以下几种:

V—Verbose(啰嗦,最低级别,开发调试中的一些详细信息,仅在开发中使用,不可在发布产品)

D—Debug(调试,用于调试的信息,可以在发布产品中关闭,比较常见)

I—Info(信息,一般提示性的消息)

W—Warning(警告)

E—Error(错误,已经出现可影响运行的错误,比如应用crash时输出的日志)(FATAL EXCEPTION)

3.标签(tag)标明日志发起者和方便日志的过滤筛选,如上中ActivityManager

4.PID(进程ID)

5.正文,本日志的主体日志

何为ANR?

ANR全名Application Not Responding,也就是应用无响应当操作在一段时间内系统无法处理时,系统层面会弹出ANR对话框

> 未用户在主线程长时间被阻塞时提供处理交互,提高用户体验

> Android系统一种自身检测机制

crash--搜索crash   anr--搜索anr in 

找出方法调用栈相关的信息 /data/anr/traces.txt

多次anr日志存放:/data/system/dropbox  adb pull /data/system/dropbox

没有root权限无法进入data目录,但是可以直接外层adb pull拉出

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容