看log解bug

查看内存:cat /proc/meminfo                  

MemTotal:   总计物理内存的大小
MemFree:  可用内存有多少
Buffers:     磁盘缓存内存的大小

异常定位:

1.空指针(NullPointerException)                    java层代码问题
2.没有捕获异常问题(Exception)
3.应用无响应ANR(Application Not Responding)       /data/anr/trace.txt    搜索关键字(DALVIK THREADS)或(ANR空格)或(cmd)
锁定三个方向:memoryleak(是否为低内存),CPU block(CPU使用率过高)、iowait(IO流使用过于频繁)
(1)memoryleak:首先根据Android log搜索低内存相关 low_memory 关键字,以确定是否存在低内存现象
(2)CPU block:搜索对应包出现ANR前后 TOTAL 关键字前的百分比,若百分比接近100% 说明CPU饥饿导致了ANR:
(3)iowait:搜索iowait 关键字查看出现ANR前的百分比,若百分比过高,说明I/O流使用过于频繁导致ANR,此项需修改相关数据库的加载流程。
Activity的点击触摸事件的执行时间:5s,BroadcastReceiver的执行时间:10s,Service处理时间:20s
4.异常退出      搜索关键字(FATAL)
5.动态库问题    搜索关键字(Build fingerprint)
6.执行DexOpt错误    解压或优化extract+optimize DEX出的问题    搜索关键字(DexOpt)
7.程序编译问题      搜索关键字(ERROR:)或(unfinished)
8.程序崩溃(启动崩溃、应用间交互崩溃、内部逻辑空指针)       crash_log中搜索(crash)
9.闪退 物理内存不足,被kill   events_log中搜索 low_memory 关键字,以确定低内存杀死程序
10.闪退  内部原因  main_log/sys_log 搜索Exception 或者 died关键字定位对应包名,进而定位问题




monkey测试log:

1、确定查找的日志文件夹:mobilelog手机log日志都在这里面。
2、确定日志文件:main_log。
3、搜索fatal或者crash关键字,确定位置所在。
4、参考错误出现的时间,据此进行有关信息的查询。
log中含有aee_exp文件时,说明有报停或ANR,内有.dbg文件
工具:gat-win32-3.1501.1.c.zip  解压(work2/ziliao)  gat-win32-3.1501.1.c/prebuilt\QATT\aee_extract.exe

步骤:  重现(Reproduce)、评估(Evaluate)、调试(Debug)

bugfree中的bug解决方案

By Design - 就是这么设计的,无效的Bug
Duplicate - 这个问题别人已经发现了,重复的Bug
External - 是个外部因素(比如浏览器、操作系统、其他第3方软件)造成的问题
Fixed - 问题被修理掉了。Tester要尽可能找到这种Bug
Not Repro - 无法复现你这个问题,无效的Bug
Postponed - 是个问题,但是目前不必修理了,推迟到以后再解
Won't Fix - 是个问题,但是不值得修理了,不管它吧

mtk log目录结构

1、Mobile Log:也称AP log,系统应用层的log,比如应用程序无响应或强行关闭,kernel相关的,比如driver(相机、蓝牙、usb、启动)出了开机问题、手机对服务唤醒和休眠的一些记录蓝牙相关问题。主要包括四种log:kernel、main、event  and radio log    
atf_log
bootprof : 是开机的log,记录开机过程中所有操作和操作的时间
crash_log :崩溃日志,主要输出 程序崩溃造成的crash log
events_log :事件日志,主要输出记录各个activity周期及事件
kernel_log :底层驱动,按键,低内存相关log
last_kmsg
main_log :详尽输出每一步的log
mblog_history
ProjectConfig.mk
properties
radio_log :输出通话,网络状态变化
sys_log :系统日志,Exception定位点

2、Modem log 是手机里负责搜网和sim卡数据操作底层模块,
md log用于分析掉网、掉话和无信号问题,一般此文件都需要特殊工具解码,主要针对射频modem相关问题抓取(mtklog/mdlog)
3、Network log
主要针对网络的Network相关问题抓取(mtklog/netlog)主要场景:彩信下载、浏览器上网、streaming问题相关WIFI、数据流量下不同场景信号下的网络连接问题,网络下的数据传输问题
4.aee_exp log :crash ANR 重启相关的log输出
5.mdlog1 :modem log,负责搜网和sim卡数据操作的底层模块,用于分析掉线、无信号、掉网等问题,一般此文件都需要特殊工具解码,主要针对射频modem相关问题抓取(mtklog/mdlog)


 try{
     }catch(Exception e){
         Log.i("wqtest",e.getMessage());
      }
e.toString()获取的信息包括异常类型和异常详细消息,而e.getMessage()只是获取了异常的详细消息字符串。
e.printStackTrace();将此 Throwable 对象的堆栈跟踪输出至错误输出流
am_resume_activity:应用打开的时间(即onResume的执行时间)
am_create_activity:创建一个活动(多数用来分析ANR的)






















  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值