今早,朋友發了一個表情給我,看下面,就是這個。。

這不是天線寶寶賣萌系列表情包么,正當我看著倆寶寶撞屁股的GIF圖尋開心的時候,微信突然卡死閃退了。。然后我打開,又來了第二遍,依舊是卡死閃退。
于是,從PC微信端找到了天線寶寶表情文件,先扔進010 Editor。。



從010 Editor的結果可以看出來,這個表情從第37-38幀中間被插入,40幀之后的文件全部被填充。
挨個排除問題
(1)圖片中的什么內容觸發的崩潰?
二分法挨個測試,定位 94360-943EE的數據觸發了崩潰。具體數據如下:

然后,我們隨機選取任意一個gif表情包,把這塊內容插進去~
震驚!微信崩潰啦! 不刪除聊天記錄沒法打開微信對話啦!!

(2)崩潰是微信特有的嘛?
把這個天線寶寶的表情包扔進了瀏覽器、qq、微信內嵌網頁,都沒有產生崩潰。這崩潰是微信聊天特有的。。。
確定了觸發崩潰的原因和場景,接下來我們來找找什么導致的崩潰。
崩潰原因
讀取iphone的崩潰異常log。十幾個測試崩潰測試的log崩潰的原因并不一樣啊,整理了三種最多的崩潰原因。
1、遞歸鎖os_unfair_lock


2、Dispatch Queue崩潰

3、KSCrash Exception崩潰

呵呵。。。分析到此,感覺可以做一串炸彈gif了~ 崩潰的具體原因,仍舊待分析。。
樣本鏈接: https://pan.baidu.com/s/1eRDeXGY 密碼: ycur
|