iOS底層探索-準備工做

若是咱們想知道對象究竟是若是工做的,那必定必定是要看源碼的,因此要準備源碼資料以下c++

源碼

Apple source源碼下載bash

Cooci大神配置源碼app

命令行

另外,只准備源碼探究可能還不是那麼清晰,咱們能夠將oc源碼編譯成c++代碼進行分析 有助於咱們更好的理解OC的底層實現,因此準備了幾個經常使用命令iphone

//編譯main爲test.c++文件
clang -rewrite-objc main.m -o test.c++ 
xcrun -sdk iphoneos clang -arch64 -rewrite-objc main.m -o testMain.c++
複製代碼

LLDB命令

以16進制的方式打印 object 的 4 段內存區域的地址,每一段是 8 個字節大小,若是想打印5段,更改數字4便可,以此類推post

x/4gx object
複製代碼

直接打印值ui

p 
複製代碼

打印objectspa

po object
複製代碼

二進制打印一個地址的命令行

p/t 0x001d800100001302
複製代碼

八進制打印一個地址的code

p/o 0x001d800100001302
複製代碼

十進制打印一個地址的對象

p/d 0x001d800100001302
複製代碼

十六進制進制打印一個地址的

p/x 0x001d800100001302
複製代碼

參考博客:LLDB經常使用命令

相關文章
相關標籤/搜索