2012-09-24 10 views
7

Ich habe ein paar Sigsegv Abstürze kommen von Crittercism, aber ich bin mir nicht ganz sicher, wie man über Debugging gehen. Die einzige Codezeile, die mir gehört, ist der Hauptaufruf vom Start des abgestürzten Threads.sigsegv crash auf iphone von crittercism

Kopieren der von Crittercism Stack-Trace abgestürzt thread:

Grund:

24-Sep-12 14.38.14 SIGSEGV main (main.m: 11)

Stapel :

 
0 
0 libobjc.A.dylib 0x356265b0 objc_msgSend + 15 
1 
1 UIKit 0x3861c313 + 1310 
2 
2 UIKit 0x386337cf + 206 
3 
3 UIKit 0x385ef80b + 258 
4 
4 QuartzCore 0x34f56d63 + 214 
5 
5 QuartzCore 0x34f56901 + 460 
6 
6 QuartzCore 0x34f57835 + 16 
7 
7 QuartzCore 0x34f5721b + 238 
8 
8 QuartzCore 0x34f57029 + 316 
9 
9 UIKit 0x386786e5 + 572 
10 
10 UIKit 0x386784a3 + 66 
11 
11 UIKit 0x38677391 + 1464 
12 
12 UIKit 0x385ed1ef + 2458 
13 
13 UIKit 0x385ec6d5 + 72 
14 
14 UIKit 0x385ec123 + 6154 
15 
15 GraphicsServices 0x3779f5a3 + 590 
16 
16 CoreFoundation 0x372f0683 + 14 
17 
17 CoreFoundation 0x372efee9 + 212 
18 
18 CoreFoundation 0x372eecb7 + 646 
19 
19 CoreFoundation 0x37261ebd CFRunLoopRunSpecific + 356 
20 
20 CoreFoundation 0x37261d49 CFRunLoopRunInMode + 104 
21 
21 GraphicsServices 0x3779e2eb GSEventRunModal + 74 
22 
22 UIKit 0x38640301 UIApplicationMain + 1120 
23 
23 MyApp 0x35bf main (main.m:11) 
+0

Zusätzlich habe ich noch viele andere seltsame Abstürze. Kann es sein, weil das System die Anwendung nach einer Warnung bei niedrigem Speicher schließt? – Murlakatam

Antwort

0

Zuerst müssen Sie das Crashprotokoll "symbolisieren". Es gibt viele Webseiten da draußen, die Sie dazu anleiten.

Da dieser Stapel bei objc_msgSend endet, ist die wahrscheinlichste Ursache ein ungeeigneter Zeiger.

Um diese zu debuggen, empfehle ich die Verwendung von NSZombies. Wenn Sie im Simulator testen, können Sie "Guard malloc" versuchen.

0

Dieser Absturz wird durch Aufrufen einer Methode für einen Zeiger auf ein Objekt verursacht, das bereits freigegeben wurde. Es ist ein sehr häufiger Verweisfehler irgendwo in Ihrem Code, der die UIKit-Elemente enthält. Aber was Sie in der Praxis tun sollten, ist, Ihre .DSYM-Datei in den Crittercism hochzuladen. Es kann manuell über die Website oder über einen Web API call als Teil Ihres automatischen Build-Prozesses erfolgen.