闪退时:
1.先找到离闪退时间点最近的log,通常从后往前搜索关键字has died|crash|Error|Fatal|memory|heap|Abort等等关键字
2.然后在这附近查找错误的根源,例如从下图可以判断可能是libastra_core.so库内部出错
image.png image.png
这种可能是系统camera相关的问题,
image.png这种是系统libc库报错,但是附近有heap corruption detected by dlmalloc字样,说明堆内存已经爆了
image.png报错信息中的行号也是有作用的,如果是自己打的so库,则可以用ndk带的addr2line工具去查看行号对应的函数名
image.png
image.png
对于非闪退的情况:
一般都是程序内报错了,可以尝试搜索Exception|Error之类的
如果Log中分析不出错误根源,那就只好用蛮力了,在最可能接近根源的地方每行打Log,逐句排查
网友评论