Имея трудное отслеживание сбоя в приложении iPad. Трудность на самом деле связана с тем фактом, что при сбое приложения нет ошибок или трассировки стека. Он просто уходит, как Кейзер Соз, «И вот так, пуф. Он ушел».iOS Crash без ошибок или трассировки стека
Я воспроизвел авария как на симуляторе, так и на устройстве. Есть нулевые журналы устройств, ничего в консоли и т. Д.
Я знаю, что во время сбоя в фоновом потоке происходят некоторые операции CoreGraphics
. Как правило, три или около того NSOperations пинают некоторые смешанные изображения.
Смешивание состоит из вызовов CGContext * (DrawImage, SetBlendMode, SetAlpha и т. Д.). NSOperation обращается к делегату в основном потоке для обработки изображения и устанавливает его в UIImage
, поэтому он не должен быть конфликтом основного потока пользовательского интерфейса, но в данный момент я ничего не обесцениваю.
Есть ли какие-то уловки Xcode, которые мне не хватает, чтобы отследить, что именно происходит? Или, по крайней мере, лучше понять, где проблема?
EDIT Я запустил приложение в приложении для отслеживания памяти приборов и увидел, что он довольно устойчив к камню около 2 МБ. Поэтому не думайте, что это проблема памяти. Но после рассмотрения эта скальная устойчивая 2 МБ кажется аномально низкой. Есть ли шанс, что инструменты не собирают выделение CoreGraphics?
Я никогда не занимался разработкой iOS *, но когда приложения iOS начали рушиться (и не оставляли никаких журналов), это в конечном итоге было проблемой с низкой памятью: закрытие всех приложений и перезагрузка устройства прояснили все. – Ken
@ Ken - добавлено редактирование, связанное с низкой памятью. Благодарю. – MarkPowell
Убедитесь, что вы не просто запускаете приложение, но и отлаживаете его. Чтобы проверить, убедитесь, что точки останова включены. –