2010-10-20 9 views
5

Ho notato che la mia app si arresta in modo anomalo quando viene utilizzata con lo strumento di allocazione. Quando osservo i registri del dispositivo, posso dire che si tratta di un arresto anomalo di "Memoria insufficiente". I miei processi di app oltre ad altri utilizzati dalla mia app sono stati espulsi. Ecco come i registri dei dispositivi guardano:L'arresto anomalo dell'applicazione viene utilizzato con Strumento allocazioni

MyAPP <09da004ccd82e7a2c54e0ea6ab4eab24> 1990 (jettisoned) (active) 
MobilePhone <6d3241e15be58311a76700272febc6d4>  635 (jettisoned) 
    accessoryd <6a25188f645a24b167cda5e0a86d486a>  121 (jettisoned) 

io non incontrino si blocca quando l'applicazione è in esecuzione, senza strumenti e l'applicazione viene percepita dagli utenti per essere performante. Mi sono concentrato sulla risoluzione di questo problema per un paio di giorni (praticamente tutto il mio codice è stato commentato per trovare il problema).

La mia domanda è: l'app potrebbe bloccarsi se utilizzata in combinazione con gli strumenti pone un problema all'utente finale? O questo mi causerà problemi solo nel debug dei problemi di memoria?

Nota 1: Non sto interagendo con l'app AT ALL quando lo uso con gli strumenti. Carica un controller di visualizzazione, effettua una chiamata di servizio asynch che restituisce risultati che vengono poi inseriti in due tabelle. Non molto da deallocare in quanto gli oggetti sono ancora richiesti.

Nota 2: questo è uno snippet di elenchi di oggetti LIVE degli strumenti di allocazione (ordinati per dimensione in ordine di desc) quando l'app si arresta in modo anomalo. Come si può vedere MYAPP in realtà non è il colpevole principale (apparentemente)

Size(bytes) Responsible Library Responsible Caller 
131072 UIKit -[UIView(Internal) _subclassImplementsDrawRect] 
45056 CoreGraphics  zone_malloc 
16384 libCGFreetype.A.dylib ft_allocate 
11264 Foundation NSPopAutoreleasePool 
8192 libCGFreetype.A.dylib ft_allocate 
8192 Foundation NSLogv 
7680 libCGFreetype.A.dylib ft_allocate 
7680 libCGFreetype.A.dylib ft_allocate 
7680 CoreGraphics argb32_mark_constmask 
5120 CoreGraphics CGDataProviderCreateWithCopyOfData 
4608 libCGFreetype.A.dylib ft_allocate 
4608 libCGFreetype.A.dylib ft_allocate 
4608 libCGFreetype.A.dylib ft_allocate 
4096 libSystem.B.dylib __stack_chk_fail 
4096 QuartzCore CA::Transaction::create() 
4096 Foundation NSPushAutoreleasePool 
4096 MYAPP -[CJSONScanner scanNotQuoteCharactersIntoString:] 

Grazie

+0

senza vedere il tuo codice, non è possibile concludere nulla con certezza al 100%. –

+0

cosa vuoi vedere nel codice in particolare? – amehta

risposta

0

Ho avuto un problema simile prima d'ora. Si è scoperto che stavo usando la memoria non inizializzata. Running with Allocations ha cambiato il valore di quella memoria che ha causato l'arresto anomalo.

+0

Come l'hai scoperto, c'era uno strumento che hai usato? Quando gli strumenti si bloccano, non forniscono esattamente molte informazioni utili, quindi sono piuttosto bloccato. – leetNightshade

Problemi correlati