Приложение вылетает при использовании с инструментом распределения - PullRequest
5 голосов
/ 20 октября 2010

Я видел, что мое приложение падает при использовании с инструментом распределения.Просматривая журналы устройства, я могу сказать, что это сбой «Недостаточно памяти».Мой процесс приложения в дополнение к другим, используемым моим приложением, был отброшен.Вот как выглядят журналы устройства:

  MyAPP <09da004ccd82e7a2c54e0ea6ab4eab24>    1990 (jettisoned) (active)
 MobilePhone <6d3241e15be58311a76700272febc6d4>     635 (jettisoned)
  accessoryd <6a25188f645a24b167cda5e0a86d486a>     121 (jettisoned)

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

Мой вопрос: может ли сбой приложения при использовании в сочетании с инструментами представлять проблему для конечного пользователя?Или это только вызовет у меня проблемы при отладке проблем с памятью?

Примечание 1. Я вообще не взаимодействую с приложением при его использовании с инструментами.Он загружает контроллер представления, выполняет асинхронный вызов службы, который возвращает результаты, которые затем заполняются в два табличных представления.Не так много, чтобы освободить, так как объекты все еще требуются.

Примечание 2: Здесь приведен фрагмент списка объектов LIVE из инструментов распределения (отсортированных по размеру в порядке убывания) при сбое приложения.Как видите, MYAPP на самом деле не главный нарушитель (казалось бы)

Size(bytes) Responsible Library Responsible Caller
131072  UIKit    -[UIView(Internal) _subclassImplementsDrawRect]
45056   CoreGraphics        zone_malloc
16384   libCGFreetype.A.dylib   ft_allocate
11264   Foundation  NSPopAutoreleasePool
8192    libCGFreetype.A.dylib   ft_allocate
8192    Foundation  NSLogv
7680    libCGFreetype.A.dylib   ft_allocate
7680    libCGFreetype.A.dylib   ft_allocate
7680    CoreGraphics    argb32_mark_constmask
5120    CoreGraphics    CGDataProviderCreateWithCopyOfData
4608    libCGFreetype.A.dylib   ft_allocate
4608    libCGFreetype.A.dylib   ft_allocate
4608    libCGFreetype.A.dylib   ft_allocate
4096    libSystem.B.dylib   __stack_chk_fail
4096    QuartzCore  CA::Transaction::create()
4096    Foundation  NSPushAutoreleasePool
4096    MYAPP   -[CJSONScanner scanNotQuoteCharactersIntoString:]

Спасибо

1 Ответ

0 голосов
/ 15 декабря 2010

У меня раньше была похожая проблема. Оказалось, я использовал неинициализированную память. Запуск с распределением изменил значение этой памяти, что вызвало сбой.

...