Unity Mono異常崩潰Assertion at mini-arm.c:2634, condition `pdata.found == 1' not met

隨着項目越來越大,碰到的很難解決的Bug也越來越多了。兩個月之前,偶然發現遊戲APK打開的時候會拋出錯誤然後崩潰:

03-08 12:21:18.201: A/mono(6873): * Assertion at mini-arm.c:2634, condition `pdata.found == 1' not met

不用想了 這就是Unity的Bug。




但是當我更新了一個Unity的版本之後,發現這個Bug依舊,而且Unity論壇上也沒有技術人員進行反饋,所以一直擱置。


但是隨着項目越往後,發現遊戲崩潰越來越頻繁了,切場景就崩潰,組隊也崩潰。讓我很難受。

那段時間正好弄熱更,所以就把Mono的源代碼修改了一下,將 mini-arm.c 裏面exit的地方註釋掉了,轉爲打出一個log。


這樣遊戲崩潰少了,但是轉而就變成遊戲各種無響應。

轉自http://blog.csdn.net/huutu http://www.thisisgame.com.cn http://www.liveslives.com

這就和微軟解決了藍屏的問題一樣。


對於這個問題,我也比較無奈,一直到這兩天同事頻繁反饋遊戲在登錄界面卡住,一直在Loading轉圈圈。這才發現問題的所在。


首先是對比下正常的發包 和 不正常卡住狀態下的發包,發現在Loading卡住的情況下,Protobuf 序列化出錯了,反序列化也出錯了。


這才意識到可能和Protobuf有關係。


我們項目中的Protobuf是預編譯成DLL的,所以我猜想,可能是Mono在讀取DLL進行解釋運行的時候,出了問題,可能是DLL文件太大?或者文件內容格式有什麼不對。


於是我花了半個小時換成了直接使用cs 文件。再次出包測試就可以了。

轉自http://blog.csdn.net/huutu http://www.thisisgame.com.cn http://www.liveslives.com

所以如果出現這種崩潰問題,很可能是 dll 出了問題哦。

發佈了357 篇原創文章 · 獲贊 197 · 訪問量 198萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章