二进制重排 二进制重排其实并不是什么特别新颖的技术。 目的 二进制重排(layout)的目的在于将hot code聚合在一起,即使得最经常执行的...
arm64e由于引入了PAC机制,导致符号地址发生了巨大变化。也给堆栈回溯带来了问题。 背景 从去年新iphone发布后,我们陆陆续续发现cra...
本文对iOS应用上经常遇到的Crash(常规signal触发的闪退)进行分析,并结合笔者的优化经验,给出Crash分析和建议。 一、Crash与...
什么是信号 信号(signal)是一种XPC通信方式。signal是一个4字节的无符号整形数字,在iOS/OSX中定义了31个已知的信号;在Un...
objc的很多设计,从底层实现上都不完全是线程安全的,这也导致在一些极端的并发情况下,会引起竞争导致的内存访问错误问题。之前分析过_weak的设...
系统控件和系统堆栈的crash初看,总以为不好解决,本文通过一步步推导来分析定位,最终找到crash是应用堆栈触发的 一、问题描述 最新线上新版...
1.前言 最近线上突然多了一些crash,类型是SEGV_ACCER,一看就认为是对象野指针了,基本都是多线程读写导致的; 但是仔细再一看cra...
_os_object_retain一看挂在dispatch里,想当然都会认为难道系统有bug了,但是问题不都是靠瞎猜的,还是有了分析才好下结论。...
使用多线程遍历或操作集合对象的时候,务必要注意内存的及时释放,否则一不小心就触发内存峰值而闪退了。 最近新版本发布后,有较多用户反馈闪退;经过部...