iOS常見崩潰情況以及bug除錯解決方法

2021-07-03 14:10:54 字數 633 閱讀 7459

1.unrecognized seletor。錯誤:這種情況很簡單,給乙個物件傳送了一條它不認識的訊息。比如說你的.h中宣告了某乙個方法,但是.m中卻沒有實現,而且你沒有對異常訊息處理(訊息**)就會造成這種現象。解決辦法:首先排查自己的某一些方法是否實現,其次看一下哪些物件接收了它不該接收的訊息。

2.index 1 beyond nsarramu [0,0]陣列越界:陣列越界這個不多說。

3.nsnul length 這個異常以可以歸類為第一種,也是給某乙個物件傳送了不識別的訊息。常見原因有:給uilabel物件設定了text,此時的text內容為空字串null,然後你在取text的length的時候就會丟擲異常。

4.exc_bad_access異常:這種大多數是物件提前釋放,訪問了野指標的錯誤。解決辦法:排查所有宣告為weak物件的使用,是否在沒有持有的情況下再次訪問了該物件(該物件已經被釋放),第二在mrc情況下,排查一下所以已經release的物件(宣告一點,mrc中全域性變數最好在dealloc方法中進行釋放),第三排查一下所有block,是否block被正常賦值等。

5.崩潰在main函式。這種情況最苦逼也是最難找到bug所在,這種情況下,用@try @catch將main函式包裹起來,這樣會丟擲異常堆疊資訊等,或者通過新增全域性breakpoint來追蹤bug。

iOS崩潰日誌crash logs追蹤以及除錯方法

在真機執行程式出現crash狀況時,機器會自動產生log檔案,它包含了在程式crash之前正在做什麼的資訊。在pc上對手機或者ipad裝置進行同步,就可以將這些日誌檔案儲存在電腦中。下面時如何找到這些日誌檔案 1.同步你的移動裝置 2.瀏覽下面的資料夾,這裡假設在itunes中你的裝置顯示名稱為de...

Linux環境崩潰生成core檔案以及除錯

步驟很詳細具體,很有幫助,所以 windows環境崩潰問題可根據vs除錯工具檢視,linux同樣可以檢視呼叫堆疊的資訊,只是 需要更改linux設定,使程式崩潰時候產生core檔案。然後gdb除錯即可。1產生core檔案方法 產生coredump的條件,首先需要確認當前會話的ulimit c,若為0...

iOS 開發中常見的BUG

1.null urgent all bitcode will be dropped because x was built without bitcode.you must rebuild it with bitcode enabled xcode setting enable bitcode ob...