2016-11-04 7 views
1

Прошу прощения за этот вопрос, я знаю, что его спрашивали тысячи раз раньше, я знаю, потому что у меня была эта проблема тысячи раз раньше. Но на этот раз Google не помогает.Как отлаживать: libC++ abi.dylib: завершение с неперехваченным исключением типа NSException?

Ошибка/терминал печати:

libc++abi.dylib: terminating with uncaught exception of type NSException 

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

То, что я уже пробовал:

Я добавил тонн контрольных точек на исходном ViewController и проходит через все @IBOutlets без бросать любые вопросы. Я добавил точки останова во всех методах в AppDelegate, и он там нигде не сломается. Код падает до того, как он достигнет любого метода viewDidLoad(). Я очистил свой проект, перезапустил XCode тысячу раз и даже сломал и переделал каждую ссылку между UI и кодом. Переименован, а затем переназначен каждый @IBAction.

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

Когда приложение падает:

Сразу после «applicationDidBecomeActve()» завершается отладчик идет в кучу машинного кода, то приложение падает, и я получаю это:

enter image description here

доказательства правильного связывания:

[изображения удалены, поскольку они были ненужными]

Мой главный вопрос (ы):

Если сшивание не вопрос здесь, что еще это может быть?

О NSLogs/стек следы

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

EDIT:

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

objc[40258]: Class PLBuildVersion is implemented in both /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/AssetsLibraryServices.framework/AssetsLibraryServices (0x123242998) and /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/PhotoLibraryServices (0x123067d38). One of the two will be used. Which one is undefined. 
2016-11-04 16:26:47.463 KotConnect[40258:1345011] Unknown class ProgressViewContainer in Interface Builder file. 
2016-11-04 16:26:47.500 KotConnect[40258:1345011] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIView 0x7fbfe3c0a030> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key loadingView.' 
*** First throw call stack: 
(
    0 CoreFoundation      0x00000001105ca34b __exceptionPreprocess + 171 
    1 libobjc.A.dylib      0x000000011002b21e objc_exception_throw + 48 
    2 CoreFoundation      0x00000001105ca299 -[NSException raise] + 9 
    3 Foundation       0x000000010fb3b26f -[NSObject(NSKeyValueCoding) setValue:forKey:] + 291 
    4 UIKit        0x0000000110e0580d -[UIView(CALayerDelegate) setValue:forKey:] + 173 
    5 UIKit        0x000000011114f79e -[UIRuntimeOutletConnection connect] + 109 
    6 CoreFoundation      0x000000011056f590 -[NSArray makeObjectsPerformSelector:] + 256 
    7 UIKit        0x000000011114e122 -[UINib instantiateWithOwner:options:] + 1867 
    8 UIKit        0x0000000110ee1c21 -[UIViewController _loadViewFromNibNamed:bundle:] + 386 
    9 UIKit        0x0000000110ee2543 -[UIViewController loadView] + 177 
    10 UIKit        0x0000000110ee2878 -[UIViewController loadViewIfRequired] + 201 
    11 UIKit        0x0000000110f2307b -[UINavigationController _layoutViewController:] + 55 
    12 UIKit        0x0000000110f23963 -[UINavigationController _updateScrollViewFromViewController:toViewController:] + 471 
    13 UIKit        0x0000000110f23ada -[UINavigationController _startTransition:fromViewController:toViewController:] + 133 
    14 UIKit        0x0000000110f24ce5 -[UINavigationController _startDeferredTransitionIfNeeded:] + 874 
    15 UIKit        0x0000000110f25dc7 -[UINavigationController __viewWillLayoutSubviews] + 58 
    16 UIKit        0x000000011111cd6f -[UILayoutContainerView layoutSubviews] + 223 
    17 UIKit        0x0000000110e05f50 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 1237 
    18 QuartzCore       0x0000000110ac3cc4 -[CALayer layoutSublayers] + 146 
    19 QuartzCore       0x0000000110ab7788 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 366 
    20 QuartzCore       0x0000000110ab7606 _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 24 
    21 QuartzCore       0x0000000110a45680 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 280 
    22 QuartzCore       0x0000000110a72767 _ZN2CA11Transaction6commitEv + 475 
    23 QuartzCore       0x0000000110a730d7 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 113 
    24 CoreFoundation      0x000000011056ee17 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 
    25 CoreFoundation      0x000000011056ed87 __CFRunLoopDoObservers + 391 
    26 CoreFoundation      0x00000001105534b6 CFRunLoopRunSpecific + 454 
    27 UIKit        0x0000000110d3b7e6 -[UIApplication _run] + 434 
    28 UIKit        0x0000000110d41964 UIApplicationMain + 159 
    29 KotConnect       0x000000010d52cc8f main + 111 
    30 libdyld.dylib      0x00000001135c968d start + 1 
) 
libc++abi.dylib: terminating with uncaught exception of type NSException 
(lldb) 
+1

Вы можете разместить свое приложение журнал, когда ваш краш-приложения? –

+0

Мне удалось выяснить, что это было после того, как он наконец нашел, как получить журналы. По-видимому, моему пользовательскому классу не был присвоен правильный модуль. Я нашел исправление здесь: http://stackoverflow.com/questions/24924966/xcode-6-strange-bug-unknown-class-in-interface-builder-file – Reilem

+1

Поздравляем! –

ответ

0

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

Xcode 6 Strange Bug: Unknown class in Interface Builder file

Смежные вопросы