为了账号安全,请及时绑定邮箱和手机立即绑定

Xcode不显示导致崩溃的行

Xcode不显示导致崩溃的行

iOS
HUX布斯 2019-11-26 14:50:31
每次我的应用程序崩溃时,Xcode都会在main()函数中突出显示UIApicationMain()调用,作为导致崩溃的行。在某些情况下曾经很正常(例如,分段错误),但是我要处理的崩溃是一个简单的SIGABRT,其详细信息记录在控制台中:*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDictionary setObject:forKey:]: attempt to insert nil value (key: Date)'Xcode过去常常与旧的SDK一起显示该行,但是自从我升级到Xocde 4.2以来,它发生了变化。很明显,Xcode确切地知道了导致崩溃的原因(或可能知道),但是它仍然没有显示实际的行。是否有任何修复程序或解决方法?
查看完整描述

3 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

您还应该确保为所有异常设置了断点。这将导致Xcode在发生异常的行停止。在[Xcode 4]中执行以下操作:

  1. 在Xcode左侧的Project Navigator中,单击断点导航器(几乎一直到顶部按钮栏的右侧。该图标看起来像一个粗大的向右箭头)。

  2. 在导航器的底部,单击“ +”按钮。

  3. 单击“添加例外断点”。

  4. 将创建一个新的断点。应该根据需要配置它,但是您可以调整其行为。

  5. 运行您的项目并重现异常。

还提到了您链接到一些第三方库/框架。如果在这些框架内发生异常,那么您将很难过,因为代码已编译,并且Xcode实际上无法向您显示导致异常的行。如果是这种情况,并且确定可以正确使用这些库,则应向这些库的维护者提交错误报告。


查看完整回答
反对 回复 2019-11-26
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

我编写了代码以使索引崩溃超出范围。以下是引发的异常。


2017-01-07 04:02:57.606 testABC[1694:52966] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSSingleObjectArrayI objectAtIndex:]: index 1 beyond bounds [0 .. 0]'

*** First throw call stack:

(

    0   CoreFoundation                      0x000000010e85cd4b __exceptionPreprocess + 171

    1   libobjc.A.dylib                     0x000000010e2be21e objc_exception_throw + 48

    2   CoreFoundation                      0x000000010e8b5c2f -[__NSSingleObjectArrayI objectAtIndex:] + 111

    3   testABC                             0x000000010dce962d -[ViewController ComplexFunction] + 61

    4   testABC                             0x000000010dce95db -[ViewController thirdFunction] + 43

    5   testABC                             0x000000010dce959b -[ViewController secondFunction] + 43

    6   testABC                             0x000000010dce955b -[ViewController firstFinction] + 43

    7   testABC                             0x000000010dce96c2 -[ViewController viewDidAppear:] + 50

    8   UIKit                               0x000000010ee28a6c -[UIViewController _setViewAppearState:isAnimating:] + 945

    9   UIKit                               0x000000010ee2b7da __64-[UIViewController viewDidMoveToWindow:shouldAppearOrDisappear:]_block_invoke + 42

    10  UIKit                               0x000000010ee29ac4 -[UIViewController _executeAfterAppearanceBlock] + 86

    11  UIKit                               0x000000010ec8d77c _runAfterCACommitDeferredBlocks + 653

    12  UIKit                               0x000000010ec7a273 _cleanUpAfterCAFlushAndRunDeferredBlocks + 566

    13  UIKit                               0x000000010ec9d757 __84-[UIApplication _handleApplicationActivationWithScene:transitionContext:completion:]_block_invoke_2 + 194

    14  CoreFoundation                      0x000000010e8016ac __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12

    15  CoreFoundation                      0x000000010e7e66f4 __CFRunLoopDoBlocks + 356

    16  CoreFoundation                      0x000000010e7e5e65 __CFRunLoopRun + 901

    17  CoreFoundation                      0x000000010e7e5884 CFRunLoopRunSpecific + 420

    18  GraphicsServices                    0x00000001126d9a6f GSEventRunModal + 161

    19  UIKit                               0x000000010ec80c68 UIApplicationMain + 159

    20  testABC                             0x000000010dce99df main + 111

    21  libdyld.dylib                       0x000000011174968d start + 1

    22  ???                                 0x0000000000000001 0x0 + 1

)

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

如果您仔细阅读 First Throw call stack


0   CoreFoundation              0x000000010e85cd4b __exceptionPreprocess + 171

1   libobjc.A.dylib             0x000000010e2be21e objc_exception_throw + 48

0 and 1 是崩溃后的系统进程。


 2   CoreFoundation             0x000000010e8b5c2f -[__NSSingleObjectArrayI objectAtIndex:] + 111

2 是导致异常的行。


3   testABC                     0x000000010dce962d -[ViewController ComplexFunction] + 61

3告诉您抛出异常的类名(ViewController)和函数naem(ComplexFunction)。


查看完整回答
反对 回复 2019-11-26
  • 3 回答
  • 0 关注
  • 700 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信