iOS 開發探索源碼的方法有三種:符號斷點直接跟流程;control + step into;匯編跟流程。下面根據圖文的形式介紹這三種方式
首先我們在 ViewController 的 viewDidLoad 方法中下個斷點
運行項目,此時會在我們打的斷點處停留,此時,選擇符號斷點
輸入要查找的方法名,enter 符號斷點已生效
之所以在 viewDidLoad 的斷點到來之後再打 alloc 的符號斷點,因為 alloc 的調用很多,如果運行前開啟不能精準的定位是不是 Person 的 alloc 方法。點擊進入下壹步
alloc 符號斷點斷住的堆棧調用情況,從下圖可以看出 alloc 的源碼位於libobjc.A.dylib庫
運行項目,此時會在我們打的斷點處停留,按住 control 鍵,點擊 step into
進去後,顯示
此時打開符號斷點,輸入 objc_alloc
點擊 enter,符號斷點就會顯示 objc_alloc 所在的源碼庫
運行項目,此時會在我們打的斷點處停留,工具欄選擇 Debug --> Debug Workflow --> Always Show Disassembly,通過匯編跟流程
此時會跳轉到匯編,顯示如下
按住 control 鍵, 點擊 step into 鍵,執行,之後看到斷點在 objc_alloc 處
同樣通過 objc_alloc 的符號斷點,得到源碼所在庫