9

Prima questione di tempo, in modo da non tenere che contro di me ...Come trovare Objective-C Blocchi in allocazioni o perdite Instruments

Per gli oggetti standard così come sotto-classi che creo, è abbastanza semplice da trovare negli Allocation o negli Strumenti di Leaks un oggetto particolare. Ad esempio, se voglio vedere una sottoclasse di UIViewController chiamata ViewController, posso scorrere lo strumento Allocations e vedere il numero di oggetti viventi in aumento o in diminuzione. Allo stesso modo, se l'oggetto viene divulgato, lo strumento Leaks lo elencherà. Posso anche cercare oggetti specifici.

Tuttavia, non sono sicuro di cosa cercare quando si cercano i blocchi Objective-C. Ho notato nel Leaks Instrument che un blocco trapelato si presenta come __NSMallocBlock. Tuttavia, quando si utilizza lo strumento di allocazione, la ricerca di __NSMallocBlock non viene visualizzata.

Qualche idea di cosa cercare nello strumento di allocazione per tracciare i blocchi Objective-C?

Molte grazie

risposta

3

Sembra, almeno per quanto di Xcode 4.2.1, che blocchi (come in (^), userò maiuscolo/grassetto per chi) mostrano nella Instrument allocazioni come solo blocchi di memoria generali di Malloc (come pezzi di memoria, lettere minuscole non in grassetto per quelli).

Così Malloc NN Bytes dove nn è il numero di byte necessari per quella Block. Solitamente Malloc 32 o Malloc 64, a seconda di ciò che il blocco potrebbe aver acquisito.

Naturalmente ci sono probabilmente molti altri blocchi Malloc della stessa dimensione. Se si ordina per Responsible Caller, ciò potrebbe aiutare a filtrarli.

+0

Sembra un buon punto di partenza. Lo guarderò. – timthetoolman

Problemi correlati