2012-12-26 15 views
91

Sto ricevendo un sacco di uscite per console come questo senza il mio applicazione crash:Come "impostare un punto di interruzione in malloc_error_break di debug"

malloc: * errore per oggetto 0xc6a3970: puntatore viene liberata non era assegnato * impostare un punto di interruzione in malloc_error_break di eseguire il debug

Come posso sapere quale oggetto o variabile è influenzato?

ho provato a installare un punto di interruzione simbolica come questo, ma che non si ferma:

enter image description here

+1

risolvo questo problema safari disabilitare ispezionare. http://stackoverflow.com/a/43885754/6521116 –

risposta

105

Impostare un punto di interruzione malloc_error_break() aprendo il punto di interruzione Navigator (Visualizza-> Navigators-> Mostra Breakpoint Navigator o ⌘ 7), facendo clic sul pulsante più nell'angolo in basso a sinistra e selezionando "Aggiungi punto di interruzione simbolico". Nel popup che appare, inserisci malloc_error_break nel campo Simbolo, quindi fai clic su Fine.

MODIFICA: openfrog ha aggiunto uno screenshot e ha indicato che ha già provato questi passaggi senza successo dopo Ho inviato la mia risposta. Con quella modifica, non sono sicuro di cosa dire. Non ho visto che non riesco a lavorare da solo, e infatti mantengo sempre un breakpoint sul set di malloc_error_break.

+0

Questo ha funzionato per me, lldb, Xcode 4.6.3 –

+1

Questo ha funzionato per me (senza il modulo). La causa del problema per me era che avevo un 'UIImmagine' supportato da un file, e stavo sovrascrivendo il file con un'immagine diversa. Ciò ha causato un errore quando ho chiamato "UIImagePNGRepresentation' sull'immagine originale (non quando il file è stato effettivamente sovrascritto). – Robert

5

Ho avuto lo stesso problema con Xcode. Ho seguito i passi che hai dato e non ha funzionato. Sono diventato matto perché in ogni forum che ho visto, tutti gli indizi per questo problema sono quelli che hai dato. Alla fine ho visto che ho messo uno spazio dopo il malloc_error_break, l'ho soppresso e ora funziona. Un problema stupido ma se la soluzione non funziona, assicurati di non aver inserito spazi prima e dopo il malloc_error_break.

Spero che questo messaggio ti aiuterà ..

+1

Si chiama "Xcode";) – yas375

37

Nel vostro screenshot, non ha specificato alcuna modulo: provare ad impostare "libsystem_c.dylib"

enter image description here

ho fatto, e funziona : il punto di interruzione si ferma qui (sebbene lo stacktrace spesso salga da qualche oscuro sistema lib ...)

+6

Sembra che il nome del modulo sia diverso in iOS, è: 'libsystem_malloc.dylib'. Breakpoint funziona per me senza specificare un modulo. – Nestor

4

Avevo dato i permessi Non avrei dovuto scrivere in alcune cartelle (specialmente/usr/bin /), e ciò ha causato il p roblem. L'ho risolto aprendo Utility Disco ed eseguendo 'Ripara permessi disco' sul disco Macintosh HD.

+0

Grazie, questo ha riparato la mia macchina borked. –

2

Lo risolvo da un vicino ispettore di safari. Fare riferimento al numero post. Ho anche trovato il suono a volte quando eseguo la mia app per i test, quindi apro il safari con Auto Inspector, dopodiché faccio qualche azione nella mia app, quindi questo problema è stato attivato.

enter image description here

Problemi correlati