如何分析android crash log

如题所述

  android framework分为java和native两层  native运行于C的runtime,高效。一般java层只是封装,通过jni访问native  底层HAL,driver的crash也会导致上层的crash ‍  ,有效利用Log信息并对其进行分析与实时的监控管理,对于分析Android手机发生Crash的原因具有极为重要的作用。  Android Log 文件类型  由于Android上的应用程序千差万别,出现的问题也不尽相同。不过Bug类型还是有规律可循的,可以根据生成的Log文件找到相应的错误,通常错误信息里记录了错误的大致位置,据此可以捕获到问题的关键信息。  Log文件记录着每次操作的信息,在出现问题后可以借助log信息分析以达到解决问题的目的,Log文件类型主要分为以下几种:  (1) Logcat: Main缓存日志,通过运行logcat命令,可以获得系统中使用的标记和优先级的列表,也可以加上过滤器进行表达式限制,只输出测试人员及研发人员感兴趣的标记-优先级组合。  ……………………  (2) Bugreport: Java应用程序Crash时会产生一个Bugreport文件,该文件主要包括三个方面的内容:  Dumpstate:内存信息,Cpu信息,Procrank信息,系统日志,Vm Trace信息等。  Build.Prop:当前版本、当前命令、显示系统Build的一些属性等;  Dumpsys:Dump Of Service Meminfo(显示某个进程更详细的内存消耗情况以及Native And Java (Dalvik)堆栈的统计数) ;  (3) Crashdump: 每次Crash都会产生一个Crashdump文件,文件包括主日志,Java 堆栈信息,本地调用堆栈,虚拟机/进程堆,Log缓存,内存信息,进程列表,Modem信息,Adb Log等信息;  (4) Bratlog: 测试用例及详细信息;  (5) Logalong: 事件,如手机通讯功能信息等;  (6) Pullfs: Traces(Java 堆栈信息);  (7) Procrank: Uss(Unique Set Size) 值,进程独自占用的物理内存。
温馨提示:答案为网友推荐,仅供参考
相似回答