XCode除錯技巧

2021-09-20 02:36:39 字數 1154 閱讀 3835

本文從以前做的幻燈中整理而來的,主要講一下xcode結合lldb除錯命令以及objc執行時的除錯技巧。

1、optimize,debug和release判定

2、i386x86_64,模擬器環境判定

3、__iphone_8_0等,編譯sdk的判定

4、使用-d編譯器選項為編譯target追加巨集定義

5、nop,空語句

1、po,輸出物件資訊

2、p,輸出變數的值

3、call,執行一段**

4、bt,列印呼叫棧

1、乙個斷點可以做些什麼事情?

2、異常斷點

3、符號斷點

4、記憶體斷點

以上這些除錯手段雖然看起來比較簡單,但只要靈活運用,就可以為除錯帶來很多便利和可能性。

比如下面乙個例子

圖中有三個變數a,b,c。只要在nop語句加入乙個執行call命令的條件斷點,通過調節斷點的開閉,就可以在程式執行時動態的控制a,b,c的數值。這使得不用編寫除錯**,就可以模擬各個狀態,動態的除錯程式分支。

此外,當程式發生異常時,一般是通過控制台報錯資訊,被動的定位問題所在。如果使用除錯命令結合objc的執行時,可以主動的獲知發生異常的狀態。在mrc開發的時代,對於多次釋放物件的問題,甚至可以一定程度的將殭屍物件還原回原始的物件,從而定位問題所在。

所以只要靈活的運用上面這些除錯手段,相信您也會很快成為乙個除錯高手。

xcode除錯技巧

有時程式崩潰根本不知錯誤發生在什麼地方。比如程式出現exec bad access的時候,雖然大部分情況使用設定nszombieenabled環境變數可以幫助你找到問題的所在,但少數情況下,即使設定了nszombieenabled環境變數,還是不知道程式崩潰在什麼地方。那麼就需要使用下列 進行幫助了...

Xcode除錯技巧

xcode從預設使用lldb後,有很多實用的除錯技巧,這裡簡單介紹一下。log the called method func 1 nslog s pretty function set breakpoint 1 lldb breakpoint set n uiview setframe 新增斷點,設...

Xcode除錯技巧

xcode從預設使用lldb後,有很多實用的除錯技巧,這裡簡單介紹一下。1nslog s pretty function 1 lldb breakpoint set n uiview setframe 新增斷點,設定action為sound,然後勾選automatically continue af...