crash-log看什么
2019-10-12 本文已影响0人
大小姐lemon
获取crash-log:将手机连接到电脑上,看android studio下的error日志
崩溃情况
1.手机系统崩溃:关键字 System has crashed。
2.程序无响应ANR: traces文件中搜索被测app进程名,再搜索关键字:【“main” prio】,查看主线程里面的错误堆栈有没有被测app的信息。
3.底层崩溃: tag为【mtcrash】打出的log包含【nativeCrashHandler_sigaction dump file】
日志分析
1.Java层
log会包含错误类型以及崩溃的代码位置
1.png常见错误类型
1.空指针:NullPointerException
- 字符串变量未初始化
- 接口类型的对象没有用具体的类初始化,比如:
List lt; 会报错
List lt = new ArrayList(); 则不会报错了 - 当一个对象的值为空时,你没有判断为空的情况)
2.非法参数:IllegalArgumentException--eg:参数类型不对
3.索引出界:IndexOutOfBoundsException--eg:数组要取出0位置的值,程序发现那个位置并没有值时报错。
4.非法状态:IllegalStateException--eg:当前对客户端的响应已经结束,不能在响应已经结束后再向客户端输出任何内容。
5.操作数据库异常:SQLException
6.类型转换异常:ClassCastException
7.内存溢出:OutOfMemoryError
2.底层
“#两位数字 pc”开头的行就是backtrace信息,
红圈内的地址一样就是同一个bug,
蓝圈内提供了so库及接口名称、代码偏移量,
一样的话可以确认是同一个接口的问题
2.png