2014-01-17 2 views
1

В настоящее время я использую Crittercism для отчетов о сбоях и удостоверяю, что добавляю dSYM для получения символических отчетов о сбоях.Как отладить сбой, который происходит случайно в приложении iOS?

Но это не помогает с некоторыми моими авариями, которые являются дефектами сегментации (SIGSEGV и SIGBUS). Они происходят случайным образом, и я не смог воспроизвести их на устройстве и на симуляторе. Я попытался найти шаблон, попробовав свое приложение на разных устройствах ios с различными сетевыми подключениями (3G, Wifi, Edge), но без успеха.

Что может быть моим следующим шагом?

+1

Это хороший прочтение http://www.raywenderlich.com/10209/my-app-crashed-now-what-part-1 – Desdenova

+2

Как насчет предоставления дополнительной информации, такой как фактический отчет о сбое и любой сделанный вами вывод анализируя его? – Kerni

+1

Возможно, вам захочется узнать, есть ли какой-либо шаблон в местоположении (например, язык, язык и часовой пояс) пользователей. –

ответ

0

Не так много, чтобы идти дальше, но здесь есть несколько мест, чтобы посмотреть:

  1. Если у вас есть несколько потоков, проверьте, чтобы убедиться, что они ведут себя правильно. Убедитесь, что вы правильно синхронизировали, если несколько потоков могут обращаться к тем же объектам.

  2. Проверьте свои NSNotifications - может ли быть опубликован, когда вы этого не ожидаете?

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

Невозможность воспроизвести ошибку в вашей среде разработки сделает ее очень трудной для поиска.