Pregunta

Una aplicación en la que estoy trabajando en continúa estrellándose cuando se ejecuta en el iPhone pero no en el simulador (aunque se muestra una advertencia cuando se ejecuta sin símbolo Malloc_Error_Break, pero la aplicación sigue funcionando en la SIM)

No estoy liberando manualmente ninguna cadena, en su lugar, uso:

[[[NSString / NSMutableString alloc] init] autorelease]; 

(que hago todo el tiempo para otras aplicaciones y nunca me han dado un problema)

Ahora, cuando configuro malloc_error_break como un punto de interrupción que recibo:

2012-03-07 17:04:06.072 columns[15487:f803] *** -[CFString release]: message sent to deallocated instance 0x68c8210

con xcode4 saltando a:

int main(int argc, char *argv[])
{
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");   >>> Thread 1
    [pool release];
    return retVal;
 }

También tengo NSzombieEnabled cuando se ejecuta en el simulador BTW

Si alguien puede ayudarme a depurar esto en Xcode 4 o apuntarme a un tutorial en línea que sería muy apreciado!

Saludos

DAVID

¿Fue útil?

Solución

Eliminar automáticamente a partir de sus métodos NSString y agregarlos de nuevo hasta que se bloquee (supongo que esta es la respuesta ahora, así que ...)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top