Xcode除錯技巧

2021-06-18 16:54:42 字數 995 閱讀 2040

xcode從預設使用lldb後,有很多實用的除錯技巧,這裡簡單介紹一下。

1
nslog(@"

%s", __pretty_function__);

1
(lldb) breakpoint set -n "-[uiview setframe:]"

新增斷點,設定action為sound,然後勾選automatically continue after evaluating。可以簡單地用以確認某些方法是否被呼叫了。

命中斷點後,在lldb中輸入:

1
(lldb) bt all

1

debugger中,選中nsdata->view memory,會看到一些無法閱讀的資料;

在lldb中,輸入:

1
(lldb) po yourdataobject

會得到yourdataobject的位址,用該位址替換掉memory viewer中的位址,會自動使用合適的encoding。

這在除錯多執行緒應用時格外有用,因為很難保證固定的執行順序。使用這個特性,需要新增dtperfomancesession.framework到xcode project中。

下面的**片段,將在使用instruments時,新增乙個flag:

1

23

#import 

// ...

你也可以在instruments中顯示開始和結束標誌:

123

4567

89

#import 

// ...

// put this line at the beggining

// ... more code here

// put this at the end

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除錯技巧

xcode7中蘋果為我們增加了兩個重要的debug相關功能。了解之後覺得非常實用,介紹給大家。exc bad access一直是很多開發者的噩夢,因為這個錯誤很不直觀,出現後往往要花很長時間才能定位到錯誤。蘋果這次帶來了革命性的提公升。在專案的scheme中diagnostics下,選中enable...