xcode7 倒騰ios 崩潰日誌crash

2021-07-16 04:17:00 字數 2741 閱讀 3970

在ios當中,蘋果提供了一套機制,方便開發者尋找閃退的根源。

模擬崩潰環境,此處認為製造乙個崩潰方法。

- (ibaction)addbutton:(id)sender
崩潰日誌裡面就記錄我們需要的東西,例如,程序名稱,硬體型別,工程bouldid,版本號,時間。找到如下**,這個就是最後異常堆疊資訊,可以看到一層一層的呼叫。

可以看到,在序號為3.4行的地方,viewcontroller.mm這個檔案呼叫addbutton這個方法後,陣列訪問objectatindex這個地方出問題了,反覆檢查。進行就可以就行了。方法後面的+ 196,表示的偏移量,以字元為單位。

last exception backtrace:

0 corefoundation 0x18254d900 __exceptionpreprocess + 124

1 libobjc.a.dylib 0x181bbbf80 objc_exception_throw + 56

2 corefoundation 0x182433ac4 -[__nsarrayi objectatindex:] + 196

3 background 0x1000140a4 -[viewcontroller addbutton:] (viewcontroller.mm:55)

5 uikit 0x187277dcc -[uicontrol sendaction:to:forevent:] + 80

6 uikit 0x18725fa88 -[uicontrol _sendactionsforevents:withevent:] + 416

7 uikit 0x1872776e4 -[uicontrol touchesended:withevent:] + 572

8 uikit 0x187277314 -[uiwindow _sendtouchesforevent:] + 804

9 uikit 0x18726fe30 -[uiwindow sendevent:] + 784

12 corefoundation 0x182504efc __cfrunloop_is_calling_out_to_a_source0_perform_function__ + 24

13 corefoundation 0x182504990 __cfrunloopdosources0 + 540

14 corefoundation 0x182502690 __cfrunlooprun + 724

15 corefoundation 0x182431680 cfrunlooprunspecific + 384

16 graphicsservices 0x183940088 gseventrunmodal + 180

18 background 0x10001428c main (main.m:14)

19 libdyld.dylib 0x181fd28b8 start + 4

這種情況我們看到的是已經處理過後,我們可以直接定位。

2.有些情況下,我們獲得崩潰日誌是這些,

last exception backtrace:

(0x18254d900 0x181bbbf80 0x182433ac4 0x1000900a4 0x187277e50 0x187277dcc

0x18725fa88 0x1872776e4 0x187277314 0x18726fe30 0x1872404cc 0x18723e794
0x182504efc 0x182504990 0x182502690 0x182431680 0x183940088 0x1872a8d90
0x10009028c 0x181fd28b8)
接下來,新建乙個目錄,把這3個檔案複製到乙個目錄下。

開啟控制台cd到當前目錄,在得到結果之前,我們還需要乙個工具,symbolicatecrash。這個工具是xcode自帶的,需要在xcode的包裡面找到他,由於版本不同,這裡我們先命令列定位,可以搜尋,隨便你啦。控制台輸入:

會顯示這個工具的位置,把他複製到同上面3個檔案的所在目錄當中。

在命令列輸入**,把東西翻譯一次,得到我們想要的東西。

此處可能會報錯,

error: "developer_dir" is not defined at ./symbolicatecrash line 69.

那在輸入./symbolicatecrash之前,加一行命令

重新輸入過後,就會得到乙個檔案symbol.crash,這個檔案的內容就和方法1一樣,可以看到堆疊資訊了。

3.後記

Xcode7適配問題

xcode7自己遇到的適配問題 1.xcode7預設是要支援bitcode,各種庫檔案編譯錯誤可以修改build settings裡修改bitcode為no 2 xcode禁用了http請求,需要在plist中新增如下字段 nsallowsarbitraryloads 否則所有http請求會沒有任何...

Xcode7 安裝外掛程式失效

1.首先檢視 xcode 的uuid,在終端執行 會得到一串uuid碼 2.找到 xcode 外掛程式所在的目錄 選擇已安裝的外掛程式如 vvdocumenter xcode,右鍵顯示包內容,找到 info.plist 3.找到dvtplugincompatibilityuuids的 專案,新增乙個...

Xcode7 真機除錯

1.準備 真機裝置 ipad air ios 8.1.3 執行xcode,點選左上角選單xcode preferences。3.設定好版本 6.在彈框中輸入賬號和密碼,普通賬號就行不需要開發者賬號,然後點選add。7.如果賬號密碼正確的話,會顯示如下圖。free表示未付費但可免費除錯,雙擊開啟。8....