記一次 iOS 開發APP卡住情況 proGC objc_retain 'CALayer position contains NaN: [nan nan]'

錯誤表現

APP卡住,cpu飆升至100%,暫停APP,無法看到卡住調用棧,能查到proGC、objc_retain等方法調用

錯誤原因

在iOS9+的系統中,做除法運算時,被除數爲0,iOS8系統同樣卡住,但是後臺會收集到'CALayer position contains NaN: [nan nan]'錯誤日誌

錯誤代碼

錯誤代碼如上圖,判斷爲兩個數組加和,被除數爲其中一個數組,所以存在被除數爲0的可能,是個很低級但因爲沒有錯誤日誌很難定位到錯誤

總結

當出現上述被除數爲0的情況時,iOS9+系統不會報錯,只會卡住,友盟後臺也不會出現錯誤日誌,iOS8系統會卡住,友盟後臺會報'CALayer position contains NaN: [nan nan]'錯誤日誌,希望本文能對大家提供幫助

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