Подтвердить что ты не робот

Мое приложение замерзает, но ошибки не появляется

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

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

4b9b3361

Ответ 1

Похоже, что вы каким-то образом заблокировали основной поток. Чтобы отладить, запустите приложение в отладчике и, когда приложение замерзает, нажмите кнопку паузы над областью журнала внизу Xcode. Затем с левой стороны вы сможете точно определить, что делает каждый поток, и вы можете увидеть, где он застревает.

кнопка паузы

Возможно, либо длинный цикл в основном потоке, либо блокировка синхронизации.

Ответ 2

Верный ответ правильный. Вы можете отладить это с помощью опции "Пауза". Наиболее распространенным способом блокирования основного потока является вызов dispatch_sync в том же потоке, который вы отправляете. Иногда вы вызываете тот же код из dispatch_once.

Ответ 3

Помимо приостановки и последующей работы с stacktrace, я считаю, что это дополнительная вещь, чтобы проверить код, если какой-либо цикл, вызывающий зависание приложения.

Недавно я столкнулся с подобной проблемой, но трассировка стека не помогла, я понял, что у меня есть вечный цикл при вызове метода reloadData() внутри метода layoutsubviews, который вызывает зависание без ошибок и нет помощь от инструментов.