有時程式崩潰根本不知錯誤發生在什麼地方。比如程式出現exec_bad_access的時候,雖然大部分情況使用設定nszombieenabled環境變數可以幫助你找到問題的所在,但少數情況下,即使設定了nszombieenabled環境變數,還是不知道程式崩潰在什麼地方。那麼就需要使用下列**進行幫助了:
#ifdef _for_debug_-(
bool
)respondstoselector
:(sel
)aselector
#endif
你需要在每個object的.m或者.mm檔案中加入上面**,並且在other c flags中加入-d _for_debug_(記住請只在debug configuration下加入此標記)。這樣當你程式崩潰時,xcode的console上就會準確地記錄了最後執行的object的方法。
有好多異常,無法正常進入斷點時,程式會直接退出,比如:
這時候我們甚至不知道使在哪出現的這個錯誤,ok,開啟run>>debugger 找到程式退出位置:
然後新增乙個軟斷點
run->manage breakpoints -> add symbolic breakpoint, 並輸入objc_exception_throw
重新執行除錯:
錯在哪兒是不是很容易就找到 了 :)
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...
XCode除錯技巧
xcode7中蘋果為我們增加了兩個重要的debug相關功能。了解之後覺得非常實用,介紹給大家。exc bad access一直是很多開發者的噩夢,因為這個錯誤很不直觀,出現後往往要花很長時間才能定位到錯誤。蘋果這次帶來了革命性的提公升。在專案的scheme中diagnostics下,選中enable...