У меня супер странная проблема. Каждый раз, когда я запускаю определенный фрагмент кода в симуляторе iPhone, весь мой Mac зависает: я не могу закрыть симулятор или любое другое приложение и не могу открыть никакие приложения. Хуже всего то, что я не могу выключиться. Я вынужден выключить вручную, удерживая кнопку питания.
Я работаю на 15 "MacBook Pro, и работает только Xcode и симулятор iPhone. Я использовал Activity Monitor, чтобы закрыть все ненужные приложения, работающие в фоновом режиме. Я также использовал OnyX для очистки моя система.
Я использую Xcode 3.2.4 с iOS 3.2 (симулятор iPad).
Сначала я подозревал, что это проблема с процессором, поэтому я запустил тот же код, чтобы вызвать сбой, когда у меня работал Activity Monitor. Я все еще могу переключаться между приложениями в замороженном состоянии, я просто не могу открывать / закрывать или делать что-либо с Xcode или симулятором iPhone. Монитор активности сообщил, что было достаточно места для дополнительной обработки, поэтому этого не может быть. У меня не хватает системной памяти. Если я что-то упустил, что может помочь в отладке, оставьте комментарий, и я найду информацию. Я хочу исправить это как можно скорее.
Данный код обрабатывает несколько таймеров, 3 фоновых потока и множество пакетов UDP. Фоновые потоки: два потока приема UDP и поток отправки. Фоновые потоки выполняют постоянный цикл, ища данные на двух разных портах. Поток отправки запускает другой константный цикл, но отправляет данные только тогда, когда они есть в очереди. Для обработки UDP используются только вызовы socket (), bind (), sendto (), recvfrom () и select ().
У меня сложилось впечатление, что любые проблемы в текущем проекте Xcode станут очевидными только в симуляторе iPhone - перевыпуск только сбивает симулятор и т. Д. Как можно разбить ОС, а не симулятор?
Редактировать: он отлично работает на устройстве. Не вылетает, не сообщает о проблемах с памятью, нада.