記悲催的一天:Xcode卡死indexing processing file

indexing processing file,平日裏Xcode打開項目經常會看到的一個加載狀態,今天卻把我難倒了。經過整整一天的查找解決方法,調試,終於解決了。雖然不是什麼高深的問題,卻着實浪費了一天,以此謹記!

起因:

很正常的碼代碼,粘貼複製調整,突然Xcode頂部加載狀態欄就出現了indexing processing file的進度條,一直加載中,且代碼自動補全,查找定義跳轉都不好使了,緊接着等待一會後電腦出現嚴重卡頓,切換界面都不能,無奈強制重啓電腦。開機後,打開項目,依然自動預處理文件indexing processing file卡死

設備:Mac mini

過程:

起初是等待indexing processing file加載完畢,沒想到邊卡邊等加重啓了個把小時都沒反應。

然後網上漫天查找indexing processing file卡死的解決方法,有說終端defaults write com.apple.dt.XCode IDEIndexDisable 1再
defaults write com.apple.dt.XCode IDEIndexDisable 0的,也有說進入~/Library/Developer/Xcode/DerivedData 這個文件夾,把裏面相關工程的文件夾刪掉的。也許他們都對,但確實全部解決方法無效!依然卡。

於是想打開其他項目試試看,沒曾想居然其他項目在indexing processing file跑完後可以正常編程了。到這裏感覺是自己那個項目的代碼哪裏出問題了。

然而超卡的Mac mini無數次的重啓之後讓人都沒脾氣了,決定回去用MacBook Pro試試。

解決:

MacBook Pro打開項目之後也出現了一直indexing processing file的情況,但Pro畢竟是Pro,並沒有卡死,只是Xcode不能自動補全代碼和查找定義跳轉函數了。

既然覺得不是配置問題而是代碼哪裏出問題了,那就死馬當活馬醫,碰碰運氣,決定用笨辦法:猜想大概是哪個文件出問題,然後代碼全部註釋,然後重啓Xcode,再逐行打開調試

驚人的發現,在解開某塊代碼之後,Xcode馬上出現了indexing processing file的情況,同時監視器內存中有兩個進程內存暴漲到10G,如果不是Pro,電腦早就歇菜了。(吃內存禍首:com.apple.dt.SKAgent 和 clong

在結束了這兩個進程之後,完全退出Xcode,單獨打開問題文件(如果直接打開項目,Xcode又會自動processing file卡死,都來不及修改代碼),修改好問題代碼塊之後,再打開項目,這一次indexing processing file沒有卡死,編譯通過。

一點小總結:

出現這個問題起因是複製了一段代碼到另一處,本來是需要修改參數才能使用的,在還沒修改前,Xcode沒有先報紅,而是實時預處理文件(indexing processing file),緊接着就卡住。就算command+B編譯進度條都走不到頭,且無代碼自動補全和提示,所以就跑偏了去找什麼重置索引的方法。

其實就是複製的錯誤block代碼塊沒有糾正導致,至於爲什麼indexing processing file卡死內存暴漲,那就不得而知了,是線程卡住了麼。愚蠢而糾結o(╥﹏╥)o

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章