android 崩溃 定位,Android Crash问题定位与实践

Android Crash类型

程序员开发android应用程序时追逐的最终目标是要尽量避免程序Crash的发生。但是现实的情况是,在进行轮番测试和验证的时候,Android应用程序几乎不可能完全杜绝Crash的发生。Crash的类型主要有以下几种:

(1) Java Application Crash:不完善的Java应用程序很容易导致Crash的发生 如:某个应用程序由于源代码不完善,会做一些它本不应该做的操作而导致Crash的发生。 另外,Java虚拟机自身的Bug、系统的库文件、Api、第三方的库文件、系统资源的短缺都有可能造成Java Crash的发生。

(2) System Crash:当程序试图访问不被允许访问的内存区域、指针越界、错误的访问类型、访问不存在的内存、访问不属于进程地址空间的内存、栈溢出、函数非法跳转、非法的系统调用、数据中断等操作容易引起System Crash。

(3) Modem Crash:当手机出现无信号、死机、网络中断等现象,通常会出现Modem Crash。

(4) Kernel Crash:由于手机应用软件出现错误而导致系统崩溃的时候,会提示Kernel Crash的信息,并且错误发生时kernel的存储图像会保存起来,当系统重新启动后,会恢复kernel的存储图像,然后根据现象判断是哪类错误发生。

3.1.1 Java Anr Crash

手机应用程序在预先设定的时间内不响应或响应不够灵敏,系统会向用户显示一个对话框,这个对话框被称作anr(Application No Response) Crash。这一般都是由于应用程序错误导致的,测试人员可以在Logcat文件中定位是哪个进程导致anr的发生,为什么会发生anr,发生anr之前的历史日志,事件响应间隔中Cpu的使用状态等。

当出现Anr Crash后,测试人员可以在Log文件里查找关键字:Anr,定位到的相应的关键信息,然后根据定位的具体信息再进行分析。下述示例说明了造成了anr Crash的三种情况:

......

版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。

22/2<12

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值