¿Es posible depurar “Terminado debido a un error de memoria”?

En un cierto punto (coherente) cuando mi aplicación se está ejecutando, siempre recibo el mensaje de error xcode

Terminado debido a un error de memoria.

No puedo encontrar el código que causa el error, pero puedo decir qué código está cerca del error (usando puntos de interrupción).

El error se produce directamente después de devolver una determinada celda en mi implementación del

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

UITableViewDataSource delegado UITableViewDataSource . Puedo confirmar que está devolviendo una UITableViewCell válida, pero creo que explicar y publicar todo ese método sería una pérdida de tiempo. Sin embargo, sospecho que podría ser causado por una asignación de memoria rápida y masiva.

Definitivamente dice Terminated due to memory error , no a la presión de la memoria.

Me gustaría saber qué significa realmente el mensaje. Además, ¿hay alguna forma de depurar este mensaje? No se genera ningún informe de fallos.

Estoy usando ARC y iOS 7.

Estaba recibiendo este error y no podía entender lo que estaba mal.

Después de buscar, descubrí que olvidé desactivar zombies.

Para deshabilitar, haga lo siguiente:

Seleccione el esquema de edición

Deseleccionar

Me enfrenté al mismo problema . (“Terminado debido a un error de memoria”) He intentado todas las respuestas anteriores pero nada funciona para mí. Luego depuro mi código y descubrí que un bucle for se está ejecutando por tiempo infinito con la asignación de memoria a una matriz con valor nulo cada vez. Utiliza 300 + MB por lo que da este error

Gracias.

Tuve exactamente el mismo problema. Pensé que causaba que mi progtwig tuviera pérdidas de memoria o usaba demasiada memoria. Utilizo instrumentos y utilicé el perfil de asignación y el progtwig funciona bien. También ejecuté el progtwig por dispositivo el tiempo suficiente, y también funciona bien.

También uso iPad 3rd Gen para la depuración, puede estar causando debido a la lentitud del dispositivo o error, parece que solo Xcode y se ejecuta desde el problema de Xcode. No es el problema de la pérdida o asignación de memoria.

Si se asegura con los instrumentos y la aplicación en funcionamiento en el dispositivo y el trabajo

Estaba usando Tesseract para OCR y cuando se escaneó el texto de mi objective, se suponía que debía tocar un GIF. Cuando el GIF comenzó a jugar, hubo un pico de memoria, de 70-80MB a 450MB. El problema era que GIF estaba tomando demasiada memoria, la aplicación se bloqueaba y Xcode mostraba ese mensaje. Así que eliminé el imageView correspondiente de la supervista del ViewController.

 imageView.removeFromSuperview 

Después de esto, la aplicación todavía se dispararía a 450 MB pero luego se lanzaría de inmediato y bajaría a 40 MB

Edite el esquema, en Diagnósticos encontrará varias opciones para guardar las asignaciones. Consulte la documentación para más detalles .

La pregunta es: ¿realmente dice “terminado debido a un error de memoria” y no “presión”? Comprueba los instrumentos si tu aplicación se está quedando sin memoria, si parece que la aplicación tiene poca memoria, entonces es en lo que deberías enfocarte independientemente del mensaje exacto.

    Intereting Posts