dismissModalView аварийное приложение для iphone, но не с включенным отладчиком - PullRequest
0 голосов
/ 29 августа 2010

У меня есть приложение для iphone с модальным видом.Приложение вылетает, когда модальное представление закрывается.Как только модальное изображение исчезает в нижней части экрана, и, следовательно, за ним отображается исходный вид, приложение завершает работу без ввода в виде консоли.

Я попытался включить отладчик и обнаружил, чтоприложение просто работает нормально, без сбоев.

- Во-первых, я хотел бы знать, почему такое поведение, не должен ли отладчик сидеть на вершине, не "мешая" приложению?Во-вторых, без отладчика, вы можете указать, на что мне обратить внимание, чтобы решить мою проблему?Или если вы сталкиваетесь с чем-то похожим?Пожалуйста, будьте настолько конкретны, насколько это возможно, потому что я не являюсь экспертом в программировании на объективном языке.

Я не знаю, какие подробности вам дать, это обычное приложение со стандартным компонентом iphone, но дляначало Я могу сказать, что модальное представление (которое построено с помощью IB) вызывается внутри системы NavigationBar.

спасибо

1 Ответ

0 голосов
/ 29 августа 2010

Когда происходят подобные вещи, это почти всегда происходит из-за проблем с выделением памяти. Первый шаг, который я хотел бы сделать, это выполнить «Очистить все» и «Построить и проанализировать» и посмотреть все предупреждения анализа. Анализ очень хорошо помогает при поиске базовых проблем типа «использование до выделения», «использование после освобождения» или «неправильное количество сохранений / выпусков».

Следующим шагом является включение режима обнаружения «Зомби», который ищет доступ к памяти, которая уже была удалена (другими словами, убитые объекты возвращаются из мертвых.) Для этого получите информацию о своем исполняемом файле перейдите на вкладку «Аргументы» и добавьте «переменную для установки в среде» NSZombieEnabled в значение «YES». Затем загляните в консоль при запуске, чтобы убедиться, что что-то не так.

Наконец, вы можете попытаться создать новую конфигурацию, в которой вы используете все настройки режима выпуска для оптимизации, но добавляете символы отладки. Возможно, это приведет к потере выделения памяти в памяти, достаточной для запуска ошибки в режиме отладки.

...