国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

愚蠢的調試一

2019-11-14 19:42:56
字體:
來源:轉載
供稿:網友

      就在昨天,通過企業id發布了公司使用的一個iOS app 由于在真機調試沒有發現問題。就直接替換了線上的文件。但是通過下載安裝發現,開啟程序后閃退,而且是每次都出現,這就讓我感到非常迷茫,真機調試都是沒問題的,為什么會出現如此嚴重的bug。立刻iphone連接orgnizer。查看device logs 發現都是bad access錯誤,控制臺也出現了Could not lookup ReleaseType from system version dictionary錯誤,我先檢查了bad access定位的代碼,沒有發現問題。然后就查找releasetype的問題,對于這個問題網上相關資料很少,也沒能幫我解決問題。我就繼續從代碼入手。發現都是與dispatch_queue 有關,我就把關于他的很多資料看了一遍,由于我是iOS5編譯,iOS6運行,我就懷疑與dispatch_queue在5 6上的arc差異造成,然后從這個方向入手繼續追查(其實我走錯了道,后面說)。不斷修改相關代碼,重新發布,安裝運行。由于通過xcode安裝是沒有任何問題的,因此只能這樣調試。折騰下來,問題依舊。然后就在網上搜索所有相關資料。到了12點我依然沒有解決問題。只能洗洗睡了,早上起來,腦子清醒了許多,拋棄了昨晚所有的想法,直接從代碼入手,一句句注釋掉代碼,然后調試。仔細的檢查代碼。最終發現while 循環在應該退出的地方沒有退出,會不會是這里的問題呢。修改之后,發布測試。一切正常。果然問題是這里造成的,至于為什么死循環在debug階看不到問題,我現在還沒有明白。

 

推薦一個關于 iOS Device logs調試的文章:

 http://www.raywenderlich.com/23704/demystifying-ios-application-crash-logs

 

總結一下這次的經歷:

1,這是一個愚蠢的bug。 while 死循環。測試沒問題不代表發布的沒問題,因為還有可能存在不同機型有不同的問題。

2,上線發布沒有備份線上版本,造成我只能恢復最老的版本。以后不管什么情況的更新都要做到本分前一個版本。

3,由于沒有備份 + debug沒有問題,造成我心里緊張,慌亂之下找問題跑偏了方向,造成很多時間的浪費。一定要淡定,否則就亂套了,腦子也就不好使了。

4,沒有仔細檢查代碼,否則早就搞定了。雖然第一次仔細檢查了,但是不全面。仔細檢查包括全面細致。

5,出現 Could not lookup ReleaseType from system version dictionary 錯誤 可能是由于代碼問題造成。

6,dispatch_release 在 iOS6 arc下不需要使用了,但是在 iOS6以前的版本arc中需要 http://stackoverflow.com/questions/8618632/does-arc-support-dispatch-queues

 

為什么是一,因為以后還有可能有別的愚蠢出現


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 富民县| 临江市| 万盛区| 寿光市| 金沙县| 衡阳市| 商丘市| 衡水市| 疏勒县| 景宁| 金阳县| 团风县| 元谋县| 青铜峡市| 北辰区| 南陵县| 阜宁县| 泽普县| 高青县| 枣庄市| 安国市| 金阳县| 东丽区| 武宣县| 容城县| 建湖县| 江山市| 扶风县| 黑山县| 龙海市| 伊金霍洛旗| 包头市| 祁东县| 柘城县| 东平县| 清河县| 珠海市| 和林格尔县| 洛浦县| 孟连| 梨树县|