После многих лет разработки базы данных, которую я могу сказать, существуют некоторые, которые никакой не идет и некоторый вопрос, на который необходимо ответить перед началом:
вопросы:
не использует:
рекомендации:
я надеюсь, что это - хорошая начальная точка.
EXC_BAD_ACCESS происходит, когда сообщение отправляется объекту, который уже был освобожден.
Я видел "mi_cmd_stack_list_frames: Недостаточно кадров в стеке" раньше, когда пытался выпустить что-то, что уже было выпущено.
Мое предложение - установить переменную среды NSZombieEnabled и посмотреть, какой выпущенный объект вы пытаетесь доступ.
На этом сайте есть отличный учебник: http://www.codza.com/how-to-debug-exc_bad_access-on-iphone
Я видел, что это вызвано по крайней мере тремя различными типами проблем:
• Как описано в другом ответе, это могут быть ошибки чрезмерного выпуска.
• Это случилось со мной, когда я обновлял приложение для использования iAd и IOS 4.0. Я думаю, проблема заключалась в том, что я пытался использовать фреймворк iAd и в версии приложения 3.0, что, конечно, невозможно, потому что iAd существует только в версии 4.0 и выше.
• Это случилось, когда я удалил кучу вещей из приложения и перекомпилировал, но остатки старого все еще присутствовали в симуляторе. Сброс симулятора устранил проблему. Я удалял Flurry API. Боюсь, я не знаю, что именно там застряло и вызвало проблему.
Установка SDK 4.0 на телефон 3.1.3 вызвала это для меня.
Исправлено из-за слабой привязки UIKit к цели.