在團隊開發中,SVN衝突是最多見的了,程序異常時查看SVN文件衝突基本上成了本能。 xcode
首先,右鍵主項目文件即xcodeproj文件,顯示包內容,用文本編輯器查看包裏的project.pbxproj,查找文件裏是否有「<<<<<「 「=======」字符,有的話即表示衝突,刪除衝突的地方便可解決。 bash
此種異常通常就是程序沒法運行,或是沒法提交SVN等。在異常狀況下算是小case了。 編輯器
向這種頻繁崩潰的狀況,直接暴力解決。佈局
首先右鍵主項目文件即xcodeproj文件,顯示包內容。找到找到project.xcworkspace文件,右鍵顯示包內容。spa
Snip20160702_3.png指針
刪除xcuserdata文件夾,解決。調試
xcuserdata文件夾裏保存着當前項目的一些臨時信息,不少崩潰實際上是加載失敗致使的,刪除這個文件夾,Xcode會從新佈局加載信息。如此崩潰就解決了。日誌
程序在崩潰的時候,xcode常常沒有給出準確的堆棧信息,而是定位在了main方法裏,這個讓人非常頭疼,這個能夠經過添加一個Exception Breakpoint,選擇 All來解決。另外一種是Crash,EXC_BAD_ACCESS ,這個比較頭疼,由於Crash的時候,多是比較早以前的某個變量釋放了,如今訪問時出問題。Console裏也沒顯示什麼日誌。開Scheme選項選擇Edit Scheme而後按圖勾上Enable Zombie Objects 和Malloc Stack那兩項,記住通常 只有在定位EXC_BAD_ACCESS時候才勾選 。 code
從新跑一下,若是是到Exception Breakpoint處中止了,能夠在Console中輸入:c(continue)按回車繼續跑,直到Crash。看下Console是否是有跟SIGABRT相似的錯誤信息日誌了。若是尚未日誌,在Console中輸入對象
po $eax
$eax標誌出錯的地方,適用模擬器,真機用$r0(話說EXC_BAD_ACCESS這種 錯誤模擬器定位就行),「$eax」是cup的一個寄存器。在一個異常的狀況下,這個寄存器將會包含一個異常對象的指針。注意:$eax只會在模擬器裏面工做,假如你在設備上調試,你將須要使用」$r0″寄存器。還能夠輸入好比:
po [$eax name] po [$eax reason]