Android异常日志快速定位分析小技巧

描述

      1.Android设备本地异常日志

adb shell
/data/tombstones
/data/anr
/data/system/dropbox

 

Android

ANR发生进程主线程堆栈信息

 

--------- beginning of system
--------- beginning of events
  2.搜索ANR相关异常日志
"main" prio=

 

Android

(1).查看UI线程,搜索main

 

main
  (2).快速搜索定位ANR日志
----- pid
Cmd line:
Cmd line: system_server

 

Cmd line:后边跟的是APP应用的包名,包名能对上就能定位成功异常日志

Android

(3).Native发生异常

 

"main" prio=5 tid=1 Native
  3.搜索Crash相关异常日志
beginning of crash
--------- beginning of crash
  Android

  (1).快速搜索定位Crash异常日志
Fatal
  Android  

4.envent_log日志中搜索am_anr类型的日志
am_anr
  5.搜索死锁阻塞日志
Subject:
Subject: executing service
Subject: Input dispatching timed out
  6.搜索CPU使用日志
CPU usage from
  7.通过aarch64-linux-android-addr2line命令解析符号地址
00000000005f29dc
 

 

(1).aarch64-linux-android-addr2line工具所在路径

 

H:Androidandroid-sdk-windowsndk21.1.6352462toolchainsaarch64-linux-android-4.9prebuiltwindows-x86_64bin
H:Androidandroid-sdk-windowsndk21.1.6352462toolchainsarm-linux-androideabi-4.9prebuiltwindows-x86_64bin

 

(2).解析错误符号地址的命令

 

aarch64-linux-android-addr2line -C -f -e <对应带符号表的so库> <8位内存地址>

 

 

./aarch64-linux-android-addr2line -C -f -e /android_arm64/libNvStreamingSdkCoreSymbol.so 0005f29dc

 

注意:这里的so库是对应的带符号的so库才可以

8.抓取Android日志的常规方法

 

adb logcat -b all > logcat_all.txt           (抓全部日志)
adb logcat -s *:E > logcat_err.log           (抓错误日志)
adb logcat -s *:I                            (抓INFO或以上级别的日志)
adb logcat | grep $(adb shell pidof xxx.xxx) (抓某一进程的log)

 

9.快速搜索定位空指针异常日志

 

null pointer dereference
  Android  

10.日志对比分析工具

 

Android

Android

 

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分