Primero déjeme decir que vengo de un fondo en Flash/AS3, que me doy cuenta de que no es tan estricto sobre la mayoría de las cosas como iPhone/Objective-C.¿Por qué es EXC_BAD_ACCESS tan inútil?
Sospecho que mi pregunta realmente se aplica también a AS3, pero permítanme preguntarlo sobre Obj-c. ¿Por qué el error EXC_BAD_ACCESS, y otros similares, son tan inútiles? Me doy cuenta de que normalmente significa una mala administración de la memoria en algún lugar, pero ¿por qué no puede contarte más sobre el problema? Por ejemplo, ¿por qué no dice "EXC_BAD_ACCESS, trataste de pasar un puntero como AndSuch en la línea 123, sin embargo eres un idiota, porque lo lanzaste en la línea 69 por lo que ya no está disponible"?
Me doy cuenta de que puedo usar el depurador para obtener más pistas sobre dónde ocurrió mi error, pero muchas veces esto es solo marginalmente útil. Por ejemplo, a veces ninguno de los mensajes en la pila/hilo/lo que sea ni siquiera es mi código. Otras veces es mi código, pero en la parte superior de la pila habrá un mensaje que tiene 4+ parámetros, ok thanks depurador lo redujo a 4 punteros posibles ¿por qué no puede decirme cuál?
Supongo que hay una explicación fundamental que eché de menos por los antecedentes de los que vengo, sin tener que preocuparme por la memoria ni nada parecido. Aunque hay un error que puede ocurrir mucho en el desarrollo de AS3 que es igualmente misterioso y en la misma línea. "Error n. ° 1009: no se puede acceder a una propiedad o método de una referencia de objeto nulo", que casi siempre significa que una variable que esperaba contener algo es en realidad nula. ¿Por qué no me dice CUAL variable?
Utilice y siga este enlace: http://www.touch-code-magazine.com/how-to-debug-exc_bad_access/ Espero que resuelva su problema. – shah