2013-05-01 157 views
0

我收到了一個我無法解釋的崩潰日誌。我已經四處搜尋,看起來SIGSEGV與記憶有關。但在我的情況下,除了堆棧跟蹤中的main.m以外,我自己的代碼沒有任何內容。此外,它似乎沒有象徵任何系統庫。什麼會導致此SIGSEGV錯誤?

迄今爲止發生的這起車禍只發生在一臺iPhone上。在其他手機上,我一直無法重現它。現在我完全陷入困境,不知道該繼續下去,所以如果有人看到類似這樣的事情,那麼聽到他們的問題和解決方案會很好。

崩潰日誌:五月

Incident Identifier: TODO 
CrashReporter Key: TODO 
Hardware Model:  iPhone4,1 
OS Version:  iPhone OS 6.1.3 (10B329) 
Report Version: 104 
Exception Type: SIGSEGV 
Exception Codes: SEGV_ACCERR at 0x41fd5903 
Crashed Thread: 0 

Thread 0 Crashed: 
0 libobjc.A.dylib      0x3b0b9564 0x3b0b6000 + 13668 
1 libobjc.A.dylib      0x3b0bb1d7 0x3b0b6000 + 20951 
2 CoreFoundation      0x33396605 0x332d4000 + 796165 
3 CoreFoundation      0x3339635d 0x332d4000 + 795485 
4 libobjc.A.dylib      0x3b0bea65 0x3b0b6000 + 35429 
5 libc++abi.dylib      0x3ab0b07b 0x3ab0a000 + 4219 
6 libc++abi.dylib      0x3ab0b114 0x3ab0a000 + 4372 
7 libc++abi.dylib      0x3ab0c599 0x3ab0a000 + 9625 
8 libobjc.A.dylib      0x3b0be9d1 0x3b0b6000 + 35281 
9 CoreFoundation      0x332dcf21 0x332d4000 + 36641 
10 CoreFoundation      0x332dcd49 0x332d4000 + 36169 
11 GraphicsServices     0x36eb52eb 0x36eb0000 + 21227 
12 UIKit        0x351f2301 0x3519b000 + 357121 
13 Stylbar        0x0007109f main (main.m:21) 

編輯3TH:

崩潰日誌由用戶發送。不幸的是,我一直無法重現這個問題,這就是爲什麼我很難弄清楚這個崩潰日誌出了什麼問題。

當打開某個視圖控制器時,它似乎在同一個用戶中連續發生了大約15次。視圖控制器會對服務器進行多次調用以加載帖子,評論和圖片以及個人資料圖片。在打開此視圖控制器時執行的所有代碼可能超過2000行代碼(不包括此代碼中使用的RestKit和SBWebImage庫)。在這裏發佈代碼對我恐怕沒有任何幫助。

+0

這是發生在發射?當點擊一個特定的按鈕?在調用方法時?請提供更多信息,最好用代碼。 – 2013-05-01 15:33:21

回答

0

花時間尋找崩潰原因的最簡單而有用的方法是查看代碼並關注UIKit具有指向代碼的委託的地方。例如,我發現這類事情最常見的地方是UITableView。這些問題難以追查的原因是,它們可能只發生在內存不足的情況下,或者發生在一些非常難以複製的罕見UI情況下。最好只做代碼審查,並確保被設置爲指向你的類的委託在你自己的對象析構函數中被設置爲零。如果你有許多開發人員,通常更好的做法是在整個項目中使用通用表和單元類等更高層次的抽象,而不是讓每個開發人員都編寫UITableView,並犯下類似的錯誤,例如忘記刪除委託很難找到。

0

SIGSEGV是當應用程序嘗試訪問不存在的內存地址或某個地址已被其他程序保留的地址時發生的問題。我現在對應用程序有同樣的問題,但我必須查看我的代碼才能更好地理解它。對於這類問題的一個線索可能是這個東西當量(維基百科中找到):

#include <stdlib.h> 

INT主要(無效)
{
焦炭P = NULL;/ p是指向初始化poiting到「無處」的char的指針*/
* p ='x';/*嘗試在'無地址'中保存字符'x'*/
返回0;
}

我希望這可以幫助別人。

相關問題