Mtklog 分析(学习)

常见log异常类型: JE  NE KE EE(external(modem) exception)

一、常见应用异常搜索关键信息

1. 常见应用crash的(系统提示***已停止运行) ,可以在main log中或crash_log中直接搜索“ fatal exception” ;也可以在event_log中搜索am_crash快速定位到问题

2.应用闪退

应用闪退一般有如下三种原因:

1).目前遇到最多的主要是因为low memory killer机制在内存达到一定阈值的时候会将大于对应adj进程给kill掉(这个一般在kernel log中搜索关键字“ low memory kill ”就可以确认哪些是因为lmk机制而被kill);一般此情况下跟性能有关……。  【待实验验证】

2). 关联进程被kill导致;

图片1

一般在进行闪退分析时可以在events log中搜索关键字" am_kill "或者" in dying proc "等

3).应用本身逻辑有执行finish动作而出现,比如点击锁屏通知进入某个对应界面而界面没有出现,这种情况需要分析对应的main_log、event_log;

a:根据出现闪退时间点在event_log搜索am_resume_activity等am_*_activity相关判断这过程中应用是否有启动和退出的动作。 【待实验验证】

b: 在main_log或sys_log搜索“ACT-AM_”相关信息查看对应activy生命周期相关信息。【待实验验证】

其次就根据log跟踪对应代码流程……

二、ANR (Application Not Responding)

1.ANR种类

1). Key Dispatch Timeout (8s)

按键或触摸事件在特定时间内无响应(origin:5s)

KEY_DISPATCHING_TIMEOUT = 8*1000

2) .Broadcast Timeout

BroadcastReceiver在特定时间内无法处理完成

BROADCAST_FG_TIMEOUT: 10s

BROADCAST_BG_TIMEOUT: 60s

按键和广播事件时间内未响应,时间限定定义在ActivityManagerService.java类中

3).Service Timeout (20s)——-小概率类型

Service在特定的时间内无法处理完成

service时间内未响应时间限定在ActiveServices.java类中

SERVICE_TIMEOUT = 20*1000;

2.ANR产生原因 【不是很懂】

1)应用进程有一个主线程(main thread)和一个信息队列(main message queue) main thead == activity thread

2)主线程负责处理像Draw、Listen、receive等UI事件

3)主线程负责从消息队列中取出信息并分发它

4)主线程在完成当前信息处理之前,不会再取信息队列中的信息

5)如果主线程在处理当前信息时卡住,没有及时分发,ANR就会出现

3.如何避免ANR

1):UI线程尽量只做跟UI相关的工作

2):耗时的工作(比如数据库操作,I/O,连接网络或者别的有可能阻碍UI线程的操作)把它放入单独的线程处理

3):尽量用Handler来处理UIthread和别的thread之间的交互

4.UI线程主要包括哪些?

1).Activity:onCreate(), onResume(), onDestroy(), onKeyDown(), onClick()等

2).AsyncTask: onPreExecute(), onProgressUpdate(), onPostExecute(), onCancel等

3).Mainthread handler: handleMessage(), post*(runnable r)等

4).other

5.分析ANR需要的log

1). MTKlog,主要是其中的Aee_exp和MobileLog

2). Trace.txt文件(data/anr目录下)或者bugreport日志(使用adb bugreport > bugreport.txt或者GAT工具输出)

一般当出现异常(JE\SWT\NE\KE等)时,会在手机中的/data/aee_exp目录下保存异常的db。 对于异常的类型和具体信息,需要通过GAT工具解析db档案。

6.ANR分析流程

图片2

1

1

2

3

4

5

6

7

8

转载于:https://www.cnblogs.com/xiyuan2016/p/6740521.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MTK log分析工具是一种用于分析MTK芯片手机运行时产生的日志的软件工具。它通过读取和解析手机系统产生的各种日志,从而评估、监测和改进MTK芯片手机系统的性能和稳定性。 在MTK log分析工具中,可以对各种日志进行筛选、搜索、过滤,包括系统日志、事件日志、广播日志、崩溃日志和核心日志等。这些日志能够详细记录调试信息、电池状态、网络连接、应用程序等各个方面的运行情况。 MTK log分析工具还可以对手机系统的各个组件进行监测和评估,包括CPU、存储器、网络、传感器、电量管理等。在这些组件的日志信息中,可以有效地检测和诊断手机系统中的各种问题,包括系统卡顿、耗电过多、网络连接不稳定、应用程序崩溃等。 总的来说,MTK log分析工具是MTK手机芯片系统开发和维护工作中不可或缺的一个工具,它可以帮助开发者和维护人员快速准确地发现问题,并进行及时有效的处理和改进。 ### 回答2: MTK log分析工具是一款专门针对MTK芯片设备的日志分析工具。它可以帮助开发人员收集、解析和分析设备日志,从而更好地监测设备的运行状态,优化设备性能和调试设备问题。 MTK log分析工具可以分析设备日志中的各种信息,例如系统日志、内核日志、事件日志和调试日志等。它可以自动化地运行各种分析工具和脚本,以获取更详细的信息和解决方案。 此外,MTK log分析工具还支持将分析结果以报告的形式呈现,使开发人员能够直观地了解设备的运行情况和存在的问题。同时,它还提供了一些常用的解决方案和建议,以协助开发人员快速定位设备问题并进行优化。 总的来说,MTK log分析工具是一款功能强大的日志分析工具,对于MTK芯片设备的开发和调试非常有帮助。它可以提供全面的设备日志分析能力,使开发人员能够更快、更准确地定位和解决设备问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值