2012-09-24 11 views
7

Ho un paio di arresti di sigsegv provenienti da crittercism, ma non sono abbastanza sicuro su come iniziare a fare il debug. L'unica linea di codice che è mia è la chiamata principale dall'inizio del thread interrotto.crash di sigsegv su iphone da crittercism

Copia dello stack del thread si è schiantato da Crittercism:

Motivo:

24-set-12 14:38:14 SIGSEGV principale (main.m: 11)

Pila :

 
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

Inoltre ho un sacco di altri strani arresti anomali. Può essere perché il sistema chiude l'applicazione dopo un avviso di memoria insufficiente? – Murlakatam

risposta

0

In primo luogo, è necessario "simbolizzare" il registro degli arresti anomali. Ci sono un sacco di pagine web là fuori per istruirti su questo.

Poiché questa pila termina con objc_msgSend, la causa più probabile è un puntatore pendente.

Per eseguire il debug di questi, si consiglia di utilizzare NSZombies. Se stai provando sul simulatore, potresti provare "Guard malloc".

0

Questo arresto anomalo è causato dal richiamo di un metodo su un puntatore a un oggetto già deallocato. È un errore di conteggio ref molto comune da qualche parte nel codice che contiene gli elementi di UIKit. Ma ciò che dovresti fare in pratica è caricare il tuo file .DSYM sul crittercism. Può essere fatto manualmente tramite il sito web o tramite un Web API call come parte del processo di compilazione automatica.

Problemi correlati