Pergunta

um aplicativo em que estou trabalhando continua travando quando executado no iPhone, mas não no Simulador (embora um aviso seja mostrado quando executado sem malloc_error_break simbólico, mas o aplicativo continua funcionando no Sim)

Não estou liberando nenhuma string manualmente; em vez disso, uso:

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

(o que faço o tempo todo para outros aplicativos e nunca me deu problemas)

Agora, quando defino malloc_error_break como ponto de interrupção, recebo:

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

Com o XCODE4 saltando para:

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

Eu também tenho NSZombieEnabled quando executado no simulador, aliás

Se alguém puder me ajudar sobre como depurar isso no XCODE 4 ou me indicar um tutorial online, ficaria muito grato!

Cumprimentos

Davi

Foi útil?

Solução

Remova o autorelease dos seus métodos NSString e adicione-os novamente até travar (acho que esta é a resposta agora, então...)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top