這篇內(nèi)容比較多,由于前面dyld的需要拓展,后續(xù)也需要分析這個(gè)文件,放查漏補(bǔ)缺太多了,所以這里單獨(dú)分析一波。 1、名詞解釋 百度官方解釋:Mac...
環(huán)境說(shuō)明:objc-818.2源碼、MacOS 11.2.1系統(tǒng),Xcode 12.4,調(diào)試可以參考o(jì)bjc-runtime源碼編譯[https...
1、main函數(shù)分析 之前很多的分析都是從main.m文件入手的,但是從來(lái)沒(méi)分析過(guò)為啥APP的啟動(dòng)是通過(guò)這個(gè)文件來(lái)的,所以有疑問(wèn)就要解決一下,新...
由于這章分析比較重要和前一章聯(lián)系緊密,因此用的舊的系統(tǒng),和objc781.1的源碼,還有個(gè)原因就是當(dāng)時(shí)用自己電腦更新到Big Sur時(shí)候,編譯源...
好消息,先前電腦升級(jí)成Big Sur,導(dǎo)致新系統(tǒng)下源碼調(diào)試有問(wèn)題,現(xiàn)在Big Sur又更新版本了,已經(jīng)可以配置源碼調(diào)試了,這篇文章后將用新的環(huán)境...
1、slowpath與fastpath 在源碼分析過(guò)程中,多次遇到過(guò)slowpath與fastpath的分支判斷情形,最初簡(jiǎn)單以為是編譯器優(yōu)化選...
1.編譯后的方法調(diào)用 還是之前的Person類的源碼: 要研究方法調(diào)用就繞不過(guò)編譯后的代碼,這里用clang編譯一下: 并找到main方法中方法...
1、Cache_t結(jié)構(gòu) 在objc_class中除了isa、superclass、bits三個(gè)重要的屬性外還有一個(gè)重要的屬性并未進(jìn)行分析就是ca...
先前電腦升級(jí)成Big Sur且未開(kāi)源,導(dǎo)致objc4-781.1源碼無(wú)法調(diào)試,所以更換電腦,基于xcode 11.6, MacOS 10.15....