Xcode頻繁意外退出的解決方案

在開發(fā)中經(jīng)常會(huì)遇到項(xiàng)目沖突, 程序崩潰,Xcode異常等情況,有些問題第一次遇到時(shí)基本上就懵了,下面就來總結(jié)下常見的異常解決方案。

第一種 排除SVN沖突

在團(tuán)隊(duì)開發(fā)中,SVN沖突是最常見的了,程序異常時(shí)查看SVN文件沖突基本上成了本能。


排除SVN沖突

首先,右鍵主項(xiàng)目文件即xcodeproj文件,顯示包內(nèi)容,用文本編輯器查看包里的project.pbxproj,查找文件里是否有“<<<<<“ “=======”字符,有的話即表示沖突,刪除沖突的地方即可解決。



此種異常一般就是程序無法運(yùn)行,或是無法提交SVN等。在異常情況下算是小case了。

第二種 匪夷所思的頻繁崩潰

崩潰

向這種頻繁崩潰的情況,直接暴力解決。

首先右鍵主項(xiàng)目文件即xcodeproj文件,顯示包內(nèi)容。找到找到project.xcworkspace文件,右鍵顯示包內(nèi)容。

Snip20160702_3.png

刪除xcuserdata文件夾,解決。

xcuserdata文件夾里保存著當(dāng)前項(xiàng)目的一些臨時(shí)信息,很多崩潰其實(shí)是加載失敗導(dǎo)致的,刪除這個(gè)文件夾,Xcode會(huì)重新布局加載信息。如此崩潰就解決了。

小知識(shí),程序崩潰的處理

程序在崩潰的時(shí)候,xcode經(jīng)常沒有給出準(zhǔn)確的堆棧信息,而是定位在了main方法里,這個(gè)讓人很是頭疼,這個(gè)可以通過添加一個(gè)Exception Breakpoint,選擇 All來解決。另一種是Crash,EXC_BAD_ACCESS ,這個(gè)比較頭疼,因?yàn)镃rash的時(shí)候,可能是比較早之前的某個(gè)變量釋放了,現(xiàn)在訪問時(shí)出問題。Console里也沒顯示什么日志。開Scheme選項(xiàng)選擇Edit Scheme然后按圖勾上Enable Zombie Objects 和Malloc Stack那兩項(xiàng),記住一般只有在定位EXC_BAD_ACCESS時(shí)候才勾選。

重新跑一下,如果是到Exception Breakpoint處停止了,可以在Console中輸入:c(continue)按回車?yán)^續(xù)跑,直到Crash??聪翪onsole是不是有跟SIGABRT類似的錯(cuò)誤信息日志了。如果還沒有日志,在Console中輸入

 po $eax   

$eax標(biāo)志出錯(cuò)的地方,適用模擬器,真機(jī)用$r0(話說EXC_BAD_ACCESS這種 錯(cuò)誤模擬器定位就行),“$eax”是cup的一個(gè)寄存器。在一個(gè)異常的情況下,這個(gè)寄存器將會(huì)包含一個(gè)異常對(duì)象的指針。注意:$eax只會(huì)在模擬器里面工作,假如你在設(shè)備上調(diào)試,你將需要使用”$r0″寄存器。還可以輸入比如:

po [$eax name]     
po [$eax reason]

等指令查看錯(cuò)誤其他信息(注意方括號(hào)后沒分號(hào)的)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容