有半年多的時間遠離的iOS,去做java和web了,現(xiàn)在再接觸iOS了,寫篇文章找找回來的感覺。這個錯誤也是網(wǎng)絡上資源很少,所以自己想寫出來。
malloc: *** error for object 0x170242490: Invalid pointer dequeued from free list *** set a breakpoint in malloc_error_break to debug
上述的報錯信息就是這次的主角。
翻譯的意思大致是說:
釋放了一個無效的指針,類似過度釋放的意思吧。
然而我是采用ARC模式的,我就納悶了,各種google也找不出方法,最多是說資源文件中的圖片問題,個人認為這純屬扯淡(不詳表),而且都是轉載的,千篇一律。
我遇到這個問題是在集成個推的推送之后,做了自動登錄的模塊。當初做推送,都是用真機測試的,后來做自動登錄了,就使用模擬器了,然后就出現(xiàn)報錯。各種網(wǎng)上查資料無果。后來經(jīng)朋友提醒,說是不是第三方庫的原因,我當時就認為不可能了,因為我第三方都沒變過,我在自動登錄功能還好的。后來突然想到,自己做推送,好像都是采用真機運行的,現(xiàn)在用模擬器了,可能真是推送的SDK出錯了。
于是直接上qq問個推技術支持人員了(我公司買了vip)。然后得知,確實
是個推在模擬器上運行的產(chǎn)生的錯誤(血崩),我使用的是1.6.3-SDK。他們已經(jīng)在1.6.4-SDK中修改了這個錯誤,但是好像還沒有發(fā)布出來。
綜上所述,如果用了個推,出現(xiàn)這個錯誤的,大概率和我一樣了。如果沒有個推的話,個人認為,應該也是第三方庫的錯誤。
2017.6.14