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:
123
#import// ...
你也可以在instruments中顯示開始和結束標誌:
1234567
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...