Приложение вылетает только после второго выполнения только в конфигурации выпуска - PullRequest
0 голосов
/ 01 июня 2010

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

Как только я помещаю его в Release Configuration (что мне нужно перед публикацией?), Приложение запускается без проблем, и я могу перейти к следующей странице, где я показываю график core-plot . НО только если я запускаю его из xcode. Как только я заканчиваю приложение и запускаю его снова, оно открывается без проблем, но на следующей странице происходит сбой. Теперь у меня нет ничего для отладки, кроме отчета о сбое:

  Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0xcf10000a
Crashed Thread:  0

Thread 0 Crashed:
0   libobjc.A.dylib                 0x000026f2 objc_msgSend + 14
1   StandbyCheck                    0x0001fbea -[CPXYTheme newGraph] (CPXYTheme.m:36)
2   StandbyCheck                    0x00007c06 -[SCGraphCell initWithStyle:reuseIdentifier:] (SCGraphCell.m:28)
3   StandbyCheck                    0x00076b4a -[TTTableViewDataSource tableView:cellForRowAtIndexPath:] (TTTableViewDataSource.m:128)
4   UIKit                           0x0007797a -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:withIndexPath:] + 514
5   UIKit                           0x000776b0 -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:] + 28
6   UIKit                           0x00037e78 -[UITableView(_UITableViewPrivate) _updateVisibleCellsNow] + 940
7   UIKit                           0x000367d4 -[UITableView layoutSubviews] + 176
8   StandbyCheck                    0x000734b8 -[TTTableView layoutSubviews] (TTTableView.m:226)

[...]

Теперь, кто-то может указать в любом направлении? Каковы различия в режимах отладки / выпуска? Как я мог отладить этот сбой?

Я искал часы, пожалуйста, помогите мне :( Спасибо, Dennis

1 Ответ

1 голос
/ 01 июня 2010

Насколько я могу судить, в этой строке CPXYTheme.m нет ничего, что могло бы вызвать сбой. Тем более что это вызов self с аргументом, который был создан в методе, где происходит сбой. Итак, это оставляет очевидную возможность проблемы параллелизма - особенно потому, что сбой происходит только в некоторых конфигурациях, а не все время. Что вы делаете в других потоках, которые могут повлиять на время жизни вашего объекта CPXYTheme, или SCGraphCell, или любого объекта, которому они «принадлежат» (источник данных табличного представления, контроллер представления и т. Д.)?

...