iOS 应用崩溃分析

分类

一般来说,iOS 应用的崩溃分为几种
1.应用 bug 崩溃,出现 Object-C 的崩溃
如数组越界,selector 方法没有实现,这时候系统会抛出 NSException 的异常和堆栈使用情况,这时候比较容易定位出错位置。可以通过注册系统 API UncaughtNSException 处理函数进行捕捉
2.应用违反系统规则
如 WatchDog 超时,用户强制退出,低内存终止,这时候系统会发出 unix 信号,可以通过注册信号处理函数进行捕捉且只能捕捉有限的几个信号,定位相对较难。

处理方法

1.传统方法
开发期间,通过打断点,log 等形式进行处理,测试人员也可以用崩溃日志进行反馈分析
2.发布以后
可以使用一些软件捕捉这些崩溃

iOS 符号表 dSYM 文件

符号表是内存地址与函数名、文件名、行号的映射表。符号表元素如下所示:
<起始地址> <结束地址> <函数> [<文件名: 行号>],存放在 dSYM 文件中, dSYM 文件与 .app 文件存放在一起,我们可以编译完成以后在 Xcode Product 中找到 .app 然后右键打开文件夹,找到该文件。
假如我们想根据出错时的堆栈信息转换为函数信息,那么就必须借助 dSYM 文件。
暂时不清楚怎么实际的根据符号表转换函数。。但是可以借助第三方的软件,我们项目使用了 Bugly 提供的工具,提取出符号表,然后上传到网站就可以完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值