看啥推荐读物
专栏名称: iOS大全
伯乐在线旗下账号,分享 iOS 和 Mac 相关技术文章、工具资源、精选课程、热点资讯
今天看啥  ›  专栏  ›  iOS大全

iOS内功:如何排查无法复现的系统内部Crash?

iOS大全  · 公众号  ·  · 2021-01-25 11:45
(给iOS大全加星标,关注iOS动态)转自:掘金  Blacktea一、问题概述苹果每年都会升级iOS系统,可能会对系统库进行逻辑改动。我们自己工程里有些代码你可能几年没动过,但系统一升级就会出现奇怪的Crash。今天介绍一个案例,iOS13.3升级后,导致工程里某个方法签名会引发NSInvocation内部的数组越界。因为一直无法完美复现,最后经过多次假设和实验才修复。这类问题有两个难点。第一个难点,它们是由系统唤起的任务,很难直接复现,我们不能通过运行时去观察上下文的信息。第二难点是,Crash的堆栈都是在系统的方法,我们不能直接看到系统方法逻辑,推导过程会有盲区。二、基本面分析特征分析今年9月份开始,线上出现NSInvocation越界的Crash。这个Crash只在iOS13.3系 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照