2009-02-14 2 views
0

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

+0

Первое правило отладки сбоев: прочитайте (и, когда спрашиваете о сбое в другом месте, разместите) журнал сбоев. –

ответ

3

Если он сработал с EXC_BAD_ACCESS (что звучит вероятно, хотя может и не быть так, вы не указали), это, вероятно, что-то связано с одним из ваших методов dealloc. Приложение dealloc все прямо перед тем, как уйти, поэтому убедитесь, что вы не выпускаете что-то, что было автореализовано, например.

Если вы знакомы с помощью GDB, я бы попробовать установить точки останова, может быть, в чем-то dealloc методы и просто увидеть, в каком состоянии вещи вы рилизинг может быть.

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

+0

Спасибо за помощь, просто заметили проблему, и это был мошенник dealloc. Надеюсь, моя довольно глупая ошибка может быть полезной, чтобы указать на проблему кому-то еще в будущем. –

0

Один новый вариант в IB 3 - это настройка для NSWindows для выхода при закрытии. Удостоверьтесь, что у вас это установлено и/или правильно удерживает окно./

0

Я бы также сказал, что это должна быть какая-то утечка памяти. Вы отмечаете, что ваши навыки отладки ограничены, но на самом деле довольно легко отладить их с помощью приложения «Новые инструменты». Вот очень хороший article.

Смежные вопросы