[IOS] crash reports的种类

一、跟IOS有关的:基本上这类crash就是违反IOS规范而被终止的

1、watchdog  timeout

透过一个timer去观察某个事件(通常是网络存取)是否已经超过预期的时间,如果是的话就发出中断,告诉OS结束此程式,最主要的原因都是因为synchronous http request导致整个界面动弹不得,毫无反应。

1)Exception code: 0x8badf00d

2)Don't block main thread

3)Use API for asynchronous URL request

2、User force-quit

使用者会强制结束程式的执行可能就是因为程式在某些情景下没有反应,所以这种状况也会被视为crash而写入crash report

1)Exception Type: 00000020

2)Exception Codes: 0xdeadfall

3、low memory termination

由字面上的意思可以很轻易了解这就是因为可用内存不足而导致程式被终止。

一下注意的地方:

1、一定要注意内存不足的通知

2、如果物件暂时不会用到并且要用到的时候还可以重新创建的话,用完的时候顺手释放

3、释放事前快取起来的物件

最上面的通常就是目前运行中的程序,如果OS收到内存不足的警告会去终止背景执行的程序,如果还是不够,那就会去终止最上面的程序。

Current resident pages:当前瞬间所占用的page数

Count:该行程序所占用的页数(pages)

UUID:Universally Unique IDentifier

jettisoned:因为内存不足而被从内存中删除

active:运行中

如果内存管理的不好,可能会造成Memory leak,这时候我们可以善用XCode上的工具来检查

1、Run->Run With Performance Tool->(Instrument) Leak

2、Build and Analyze

二、程序本身的BUG导致:没有固定的Exception Codes & Type

最常犯的三个错误:

1、Over-released objects

2、Null pointer dereference

3、Insert nil object

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值