Как распознать ошибки из журналов сбоев - PullRequest
0 голосов
/ 25 февраля 2011

Мое приложение прекрасно работает, когда я собираю и отлаживаю, но когда я запускаю его самостоятельно, оно падает из-за некоторых других проблем. У меня есть один класс NSObject, один класс UITableView, один класс UIView, один класс UITableViewCell и один класс NSOperation. Есть ли у кого-нибудь подобные проблемы или кто-то может мне помочь.

Application Specific Information:
objc_msgSend() selector name: release
iPhone Simulator 235, iPhone OS 4.2 (iPhone/8C134)

Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   libobjc.A.dylib                 0x01134a67 objc_msgSend + 27
1   UIKit                           0x004ab1e2 -[UITableViewCell removeFromSuperview] + 167
2   UIKit                           0x003249d9 -[UIView dealloc] + 340
3   UIKit                           0x0032e281 -[UIScrollView dealloc] + 341
4   UIKit                           0x003661ce -[UITableView dealloc] + 1085
5   Foundation                      0x000698da __delayedPerformCleanup + 59
6   CoreFoundation                  0x00f4bbde CFRunLoopTimerInvalidate + 446
7   CoreFoundation                  0x00fb57d7 __CFRunLoopDoTimer + 1799
8   CoreFoundation                  0x00f11cc9 __CFRunLoopRun + 1817
9   CoreFoundation                  0x00f11240 CFRunLoopRunSpecific + 208
10  CoreFoundation                  0x00f11161 CFRunLoopRunInMode + 97
11  GraphicsServices                0x01874268 GSEventRunModal + 217
12  GraphicsServices                0x0187432d GSEventRun + 115
13  UIKit                           0x002fa42e UIApplicationMain + 1160
14  Time                            0x00001e08 main + 102 (main.m:14)
15  Time                        0x00001d99 start + 53

1 Ответ

1 голос
/ 27 февраля 2011

Этот технот имеет техническую информацию о сбоях:

http://developer.apple.com/library/mac/#technotes/tn2004/tn2123.html

Однако у вас проблема с отладкой, а не проблема с аварийным журналом.

Смотрите советы по отладке здесь:

http://www.cocoadev.com/index.pl?DebuggingTechniques

Интерпретация журналов аварий требует практики. Люди здесь видят это: removeFromSuperview и сразу думают: «Ага, подсказка! Это, вероятно, проблема с памятью», потому что removeFromSuperview удалит представление, а затем уменьшит его счетчик сохранения. если счет сохранения уже равен нулю, то уменьшение еще раз может привести к сбою. Таким образом, они думают, что вы перестали выпускать UITableViewCell

проверьте ваш UITableViewCell на выделение / инициализацию, выпуск или автоматическое освобождение ...

...