У меня заканчиваются идеи. Я получаю EXC_BAD_ACCESS
в проекте, использующем ARC. Согласно отладчику, он находится внутри main ()
. NSZombieEnabled установлен в YES, но я не вижу ни стека вызовов, ни класса / типа, ни чего-либо еще. То же самое для Инспектора / Профиля. Все, что я получаю, - это "время ожидания сеанса истекло" через некоторое время после сбоя приложения.
И это трудно найти в моем коде.
Я устанавливаю трассировки вроде
NSLog(@"CrashLog: <%@:%@:%d:%s>", NSStringFromClass([self class]),
NSStringFromSelector(_cmd), __LINE__, __FILE__);
по всему коду при входе и выходе из методов, но я еще не идентифицировал какой-либо полезный шаблон. Все, что я вижу, это то, что все мои методы, о которых идет речь, уже были оставлены, когда выбрасывается EXC_BAD_ACCESS
.
Есть идеи, как изолировать проблему?
Тим предложил использовать обратную трассировку (bt) в gdb. Результат:
#0 0x0be87580 in TI::Favonius::BeamSearch::choose_hit_test_node ()
#1 0x0be87b5f in TI::Favonius::BeamSearch::update_for_touch ()
#2 0x0be8ee32 in TI::Favonius::StrokeBuildManager::update_search_for_touch ()
#3 0x0be8f58f in TI::Favonius::StrokeBuildManager::key_down_or_drag_hit_test_for_UI ()
#4 0x0be6ba8b in TIInputManagerZephyr::simulate_touches_for_input_string ()
#5 0x0be7e5d9 in -[TIKeyboardInputManagerZephyr candidates] ()
#6 0x00678345 in -[UIKeyboardImpl generateAutocorrectionReplacements:] ()
#7 0x007dcaec in __71-[UITextInteractionAssistant scheduleReplacementsForRange:withOptions:]_block_invoke_0 ()
#8 0x007f6db2 in -[UITextSelectionView calculateAndShowReplacements:] ()
#9 0x00e255fd in __NSFireDelayedPerform ()
#10 0x01a03976 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ ()
#11 0x01a03417 in __CFRunLoopDoTimer ()
#12 0x019667e0 in __CFRunLoopRun ()
#13 0x01965dd4 in CFRunLoopRunSpecific ()
#14 0x01965ceb in CFRunLoopRunInMode ()
#15 0x01ccb879 in GSEventRunModal ()
#16 0x01ccb93e in GSEventRun ()
#17 0x0050d38b in UIApplicationMain ()
#18 0x000033e0 in main (argc=1, argv=0xbffff5fc) at /Users/Hermann/AppDev/fcApp/fcApp/main.m:16