encontrando el motivo para EXC_BAD_ACCESS-en Xcode4
memory-leaks instruments (1)
Es bastante probable que el lugar donde obtenga el EXC_BAD_ACCESS
no esté relacionado con la causa raíz. Podría estar relacionado y, por lo tanto, podría ofrecer una pista. Pero eso no es seguro.
Para responder a tus puntos:
NSZombiesEnabled
solo tendrá un efecto siNSZombiesEnabled
un método en un objeto que ha sido desasignado. Esa puede no ser la causa de tuEXC_BAD_ACCESS
.El uso de instrumentos está separado del depurador. Si su perfil en Instruments, el depurador no está activo. Básicamente, es una herramienta diferente.
Esto debería estar bien. Verifique que su configuración de compilación esté configurada como "Depurar" y no como "Liberar".
Aquí hay un enlace excelente sobre las causas de EXC_BAD_ACCESS
y cómo rastrear el problema de raíz:
EXC_BAD_ACCESS
un error EXC_BAD_ACCESS
en un lugar que no tiene nada que ver con la causa raíz. Afortunadamente, encontré la razón para ser una matriz que era demasiado pequeña para la siguiente declaración [data getBytes:&tcpBuffer length:i];
.
Ahora mi pregunta: probé todos estos tres métodos, pero sin éxito:
- El uso de NSZombiesEnabled no cambió nada en la impresión de la ventana de depuración
- Cuando configuro el esquema para depurar y para usar el instrumento Leaks, inicia los instrumentos de fugas pero no veo el depurador.
- Cuando solo ejecuto la aplicación en iPhone Simulator y start Instruments por separado, seleccionando la aplicación en ejecución como un objetivo (en el menú emergente en Instruments) se detiene con un error que dice algo así como "could not find the target".
¿Cómo se puede encontrar la causa raíz en casos como ese? Tenga en cuenta que, al final, ¡ni siquiera fue un error Zombie! Este mensaje de error es REALMENTE más confuso que útil.
(Por suerte, solo pensé en mi matriz, pero seguramente, la próxima vez esto me perseguirá en otro lado)