2013-03-22 4 views
0

Я вижу много этих сбоев в моем репортере аварии, но у меня нет идеи, что может быть причиной этого.iOS Crash: не удается получить доступ к ячейке памяти

Я не могу заставить его воспроизводить локально.

Exception Type: SIGSEGV 
Exception Codes: SEGV_ACCERR at 0x70000008 
Crashed Thread: 0 

Thread 0 Crashed: 
0 libobjc.A.dylib      0x3ba9f5b0 _objc_msgSend + 16 
1 UIKit        0x35a73313 -[UITableView(_UITableViewPrivate) _updateVisibleCellsNow:] + 1311 
2 UIKit        0x35a8a7cf -[UITableView layoutSubviews] + 207 
3 UIKit        0x35a46803 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 259 
4 QuartzCore       0x357f0d8b -[CALayer layoutSublayers] + 215 
5 QuartzCore       0x357f0929 CA::Layer::layout_if_needed(CA::Transaction*) + 461 
6 QuartzCore       0x357f185d CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 17 
7 QuartzCore       0x357f1243 CA::Context::commit_transaction(CA::Transaction*) + 239 
8 QuartzCore       0x357f1051 CA::Transaction::commit() + 317 
9 QuartzCore       0x357f0eb1 CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) + 61 
10 CoreFoundation      0x33c106cd __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 21 
11 CoreFoundation      0x33c0e9c1 __CFRunLoopDoObservers + 277 
12 CoreFoundation      0x33c0ed17 __CFRunLoopRun + 743 
13 CoreFoundation      0x33b81ebd _CFRunLoopRunSpecific + 357 
14 CoreFoundation      0x33b81d49 _CFRunLoopRunInMode + 105 
15 GraphicsServices     0x377362eb _GSEventRunModal + 75 
16 UIKit        0x35a97301 _UIApplicationMain + 1121 
17 Our App Name      0x00011d83 main (main.m:21) 
  • Отчет аварии был symbolicated
  • Я знаю, что это UITableView пытается обновить.
  • Я знаю, что это вид таблицы, пытающийся получить доступ к памяти, к которой не разрешен доступ.
  • Я не знаю, какой вид таблицы это. Это может быть любой из них в приложении.

Если у вас есть идеи относительно дополнительной информации об отладке, это было бы здорово.


Edit:

Это происходит в производственном приложении. I НЕ МОЖЕТ заставить это воспроизводить локально в режиме отладки.

ответ

0

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

2

Перейти к Редактировать Схема> Run> Диагностика> Включить Guard таНос & Включить зомби объекты

enter image description here

Это должно дать вам больше информации о следующей аварии! У меня был аналогичный опыт, когда библиотека, которую я использовал, редактировалась немного за пределами используемого ею буфера. Он редко когда-либо разбивался, но гвардия Маллок сразу заметила его. Несмотря на то, что авария происходила только в рассылке AD Hoc, и никогда с отладчиком. NSZombies поможет, если память будет освобождена до отправки сообщения. Тем не менее, NSZombies будут полезны только в момент его сбоя.

+0

Это было бы здорово, но я не могу воспроизвести его локально. Это происходит только в магазине приложений, когда я не могу включить Guard или Zombies. – SkylarSch

+0

В моей ситуации это всегда был сотрудник, который разбился. Я также не мог производить его локально. Если адрес памяти поврежден, но ваше устройство никогда не пытается его использовать, вы никогда не сможете (или один раз в синей луне) воспроизвести. Г-н Маллок все еще мог определить ошибку для меня, хотя я не потерпел крушение. Попробуйте с вашим источником :) – Kibitz503