iOS 捕獲應用程式崩潰日誌

2022-04-07 10:02:06 字數 1468 閱讀 8469

作為一名ios移動應用開發者,為了確保你的應用程式正確無誤,在將應用程式提交到應用商店之前,你必定會進行大量的測試工作;而且在你測試的過程中應用程式執行的很好,但是在應用商店上線之後,還是有使用者抱怨應用程式會「閃退」!現在作為應用程式的開發人員你肯定會準備開啟**準備修復「閃退」的問題,但是就在這個時候你會發現,到底那段**?那個地方的問題呢......;這個時候ios崩潰日誌就派上用場了,那麼現在我們就來研究怎麼獲取應用崩潰的日誌,以及從日誌追蹤到**。

(一)什麼是崩潰日誌,從**能得到它:

ios裝置上的應用閃退時,作業系統會生成乙個崩潰報告,也叫崩潰日誌,儲存在裝置上,崩潰日誌上有很多有用的資訊,包括應用是什麼情況下閃退的。通常,上面有每個正在執行執行緒的完整堆疊跟蹤資訊,所以你能從中了解到閃退發生時各執行緒都在做什麼,並分辨出閃退發生在哪個執行緒上。

(二)獲取崩潰日誌的幾種方法:

1、當使用者抱怨閃退時,你可以要求他讓裝置與itunes同步,裝置與電腦上的itunes store同步後,會將崩潰日誌儲存在電腦上(路徑:mac os x:~/library/logs/crashreporter/mobiledevice/

2、如果你裝了xcode,也能很容易通過xcode從你的裝置上獲得崩潰日誌;將ios裝置連線到電腦上,然後開啟xcode;從選單欄上選擇 window選單, 然後選擇organizer (快捷方式是 shift-cmd-2)

在organizer 視窗上, 選中 devices 標籤欄,在左側的導航面板上,選中

device logs;library下面的device logs是你所有裝置(曾經連線到xcode的)的日誌;每個裝置下面的device logs是對應裝置的日誌。

view details按鈕, 然後點選右欄links部分的

crash reports;如果沒有崩潰日誌,試試點選refresh按鈕重新整理一下。如果你的應用使用者量還不多,或者剛上架不久,itunes connect賬號上也可能還沒有任何崩潰日誌;如果有的話你就會看到不同ios版本使用者下的崩潰資訊。

4、使用工具來獲取應用程式崩潰日誌,現在小編來推薦一款好用的工具(名稱:bugly,**:官網上由詳細的講解,還附有demo,小編就不一一解說了;

5、iphone崩潰日誌分析工具symbolicatecrash;symbolicatecrash是xcode自帶的乙個分析工具,可以通過機器上的崩潰日誌和應用的.dsym檔案定位發生崩潰的位置,把crash日誌中的位址替換成**相應位置(詳情見:

(三)什麼情況下會產生崩潰日誌:

1.使用者違反作業系統規則:

違反ios規則包括在啟動、恢復、掛起、退出時watchdog超時、使用者強制退出和低記憶體終止。

2.應用中有bug:

這時候大家會想,有bug的應用程式還會上傳應用商店成功嗎?小編的理解是應用程式中一些潛在的bug也許是ios系統更新之後產生的bug,就想ios8 -> ios9之後蘋果默默的就把http改成了https。

(以上便是對捕獲應用程式崩潰日誌的相關介紹和理解,還希望大家相互補充共同進步)

iOS應用崩潰(三) 崩潰日誌

當我們在模擬器上除錯時,可能經常遇到下面的記憶體訪問錯誤 該錯誤是對乙個已經釋放的物件進行操作,定位如下 2 終端輸入 info malloc history 命令,即可得到堆疊資訊,從而分析具體問題所在 gdb info malloc history 0x12e4b0 3 也可輸入如下資訊 gdb...

iOS程式崩潰日誌

void uncaughtexceptionhandler n ception exception 當然你還要在以下方法中新增呼叫 nssetuncaughtexceptionhandler uncaughtexceptionhandler 錯誤日誌收集 下面時陣列越界時返回的錯誤日誌 arr 0 ...

IOS崩潰日誌

1.普通崩潰日誌 參考 1 程序資訊 incident identifier 30e46451 53fd 4965 896a 457fc11ad05f 崩潰報告的唯一識別符號 是與裝置標識相對應的唯一鍵值。雖然它不是真正的裝置識別符號,但也是乙個非常有用的情報 如果你看到100個崩潰日誌的crash...