二進(jìn)制重排 二進(jìn)制重排其實(shí)并不是什么特別新穎的技術(shù)。 目的 二進(jìn)制重排(layout)的目的在于將hot code聚合在一起,即使得最經(jīng)常執(zhí)行的...
arm64e由于引入了PAC機(jī)制,導(dǎo)致符號(hào)地址發(fā)生了巨大變化。也給堆棧回溯帶來(lái)了問(wèn)題。 背景 從去年新iphone發(fā)布后,我們陸陸續(xù)續(xù)發(fā)現(xiàn)cra...
本文對(duì)iOS應(yīng)用上經(jīng)常遇到的Crash(常規(guī)signal觸發(fā)的閃退)進(jìn)行分析,并結(jié)合筆者的優(yōu)化經(jīng)驗(yàn),給出Crash分析和建議。 一、Crash與...
什么是信號(hào) 信號(hào)(signal)是一種XPC通信方式。signal是一個(gè)4字節(jié)的無(wú)符號(hào)整形數(shù)字,在iOS/OSX中定義了31個(gè)已知的信號(hào);在Un...
objc的很多設(shè)計(jì),從底層實(shí)現(xiàn)上都不完全是線程安全的,這也導(dǎo)致在一些極端的并發(fā)情況下,會(huì)引起競(jìng)爭(zhēng)導(dǎo)致的內(nèi)存訪問(wèn)錯(cuò)誤問(wèn)題。之前分析過(guò)_weak的設(shè)...
系統(tǒng)控件和系統(tǒng)堆棧的crash初看,總以為不好解決,本文通過(guò)一步步推導(dǎo)來(lái)分析定位,最終找到crash是應(yīng)用堆棧觸發(fā)的 一、問(wèn)題描述 最新線上新版...
1.前言 最近線上突然多了一些crash,類型是SEGV_ACCER,一看就認(rèn)為是對(duì)象野指針了,基本都是多線程讀寫(xiě)導(dǎo)致的; 但是仔細(xì)再一看cra...
_os_object_retain一看掛在dispatch里,想當(dāng)然都會(huì)認(rèn)為難道系統(tǒng)有bug了,但是問(wèn)題不都是靠瞎猜的,還是有了分析才好下結(jié)論。...
使用多線程遍歷或操作集合對(duì)象的時(shí)候,務(wù)必要注意內(nèi)存的及時(shí)釋放,否則一不小心就觸發(fā)內(nèi)存峰值而閃退了。 最近新版本發(fā)布后,有較多用戶反饋閃退;經(jīng)過(guò)部...