Может быть, он разбился из-за сети

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

-1
задан Js G 16 January 2019 в 09:13
поделиться

1 ответ

Итак, ваше приложение разбилось довольно глубоко в коде Apple, особенно в libsystem_malloc. Хотя я не могу быть уверенным , я предполагаю, что вы смотрите на пример повреждения кучи.

Динамически распределенная память разделяется всем вашим процессом и всем, что в нем. Это означает, что любой код может потенциально перезаписывать и / или иным образом повреждать структуры, используемые другими, даже не связанными, частями системы. В этом случае, похоже, что-то испортило внутренние структуры бухгалтерского учета, используемые malloc. Я полагаю, что это происходит путем переполнения буфера и записи за пределы выделенного фрагмента памяти.

Что я могу сказать с большой уверенностью, так это то, что этот конкретный отчет не дает вам достаточно информации, чтобы обвинить AFNetworking. Просто оказалось, что ему не повезло работать, когда к этой поврежденной памяти обращались. Даже одна ошибка повреждения памяти может привести к различным сбоям. Из-за этого на самом деле невозможно рассуждать о причине какого-либо конкретного сбоя.

Хорошая новость в том, что такие вещи очень распространены. Плохая новость - это может быть очень трудно отследить. Я бы порекомендовал попробовать использовать средства отладки памяти, которые предоставляет Apple. Такие вещи, как NSZombies (с помощью инструментов), guardmalloc и malloc scribble. Лучше всего просто исправить все ошибки, связанные с памятью, которые вы можете найти.

0
ответ дан Mattie 16 January 2019 в 09:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: