ios - 在 crashlytics swift/ios 中具有非常大的行号值的 EXC_BREAKPOINT

标签 ios swift xcode crash crashlytics

我的 iOS swift 应用程序在 crashlytics 中遇到了令人担忧的 EXC_BREAKPOINT 崩溃。

我尝试通过查看方法 'populate(user:withLegacyUsage:)' 并确保我的 optional 被正确解包来修复错误。在这种方法中,我还在循环遍历该数组时删除了数组中的元素。我认为这可能导致了错误,但在上传我的修补版本后错误仍然发生。

我想我有两个问题:

  • 为什么一些崩溃的行号如此之大? “+ 4304075872”不可能成为我的应用程序中的一行。我没有那么多代码。这是否意味着存在某种循环?这可能是问题吗?或者这是正常的吗?
  • 一般如何处理 EXC_BREAKPOINTS 崩溃?如何 - 查看堆栈跟踪 - 我可以更好地了解崩溃发生的位置?是否居住在更底层的地方?它与内存泄漏有关吗?保留周期?我搞不清楚了。

  • 感谢您提供任何提示或帮助!
    Crashed: com.apple.main-thread
    0  myAppName                      0x1008d3c60 closure #3 in UserManager.populate(user:withLegacyUsage:) + 4304075872 (<compiler-generated>:4304075872)
    1  myAppName                      0x1008d6c74 specialized UserManager.populate(user:withLegacyUsage:) + 4304088180 (<compiler-generated>:4304088180)
    2  myAppName                      0x1008d3664 closure #1 in UserManager.loadLegacyUsers(withCompletionHandler:) + 129 (UserManager.swift:129)
    3  myAppName                      0x1008f0f34 closure #1 in LoginViewController.viewDidLoad() + 4304195380 (<compiler-generated>:4304195380)
    4  myAppName                      0x1008f39cc partial apply for closure #1 in LoginViewController.playIntroAnimation(withCompletionHandler:) + 4304206284 (<compiler-generated>:4304206284)
    5  myAppName                      0x1008c9e90 partial apply for closure #1 in AnimationManager.playAnimation(inView:withCompletionHandler:) + 4304035472 (<compiler-generated>:4304035472)
    6  Lottie                         0x101315b78 $s6Lottie27AnimationCompletionDelegateC16animationDidStop_8finishedySo11CAAnimationC_SbtF + 416
    7  Lottie                         0x101315bec $s6Lottie27AnimationCompletionDelegateC16animationDidStop_8finishedySo11CAAnimationC_SbtFTo + 64
    8  QuartzCore                     0x18d6efdac CA::Layer::run_animation_callbacks(void*) + 276
    9  libdispatch.dylib              0x186927184 _dispatch_client_callout + 16
    10 libdispatch.dylib              0x1868d9190 _dispatch_main_queue_callback_4CF$VARIANT$mp + 1044
    11 CoreFoundation                 0x186bd85e4 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
    12 CoreFoundation                 0x186bd35d8 __CFRunLoopRun + 2004
    13 CoreFoundation                 0x186bd2adc CFRunLoopRunSpecific + 464
    14 GraphicsServices               0x190b73328 GSEventRunModal + 104
    15 UIKitCore                      0x18ace063c UIApplicationMain + 1936
    16 myAppName                      0x100875110 main + 12 (AppDelegate.swift:12)
    17 libdyld.dylib                  0x186a5c360 start + 4
    

    最佳答案

    这些可能不是行号,而是内存地址。在该堆栈跟踪中的“function + x”列表中,它们都是 4 的倍数,也指向内存地址。发生这种情况的原因是 Apple 为 Swift 自动生成代码。通常,当您看到“+ something”时,通常意味着崩溃是在设备上被符号化的,它能够拾取那些生成的代码行。

    此链接指向 Apple's technical docs可能有更多信息,在“确定崩溃报告是否符号化”部分下提供堆栈跟踪示例。

    关于ios - 在 crashlytics swift/ios 中具有非常大的行号值的 EXC_BREAKPOINT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61556770/

    相关文章:

    ios - 动画无法正常工作

    ios - 使用 Storyboard在同一容器 View 中的多个 View

    swift - 调整弹出窗口的大小

    swift - 如何使用 SK 在 Swift 3 中一直重复一个 Action ?

    ios - UICollectionView 必须在 Swift 中使用非 nil 布局参数进行初始化,即使该参数是在 UICollectionView 文件中定义的

    xcode - 我可以将USDZ转换为诸如STL的实体网格吗

    ios - 如何向 Web View 应用程序添加上边距?

    ios - 如何将推送主题设置为推送通知的标题?

    ios - 试图找出如何在 Swift 2.0 中加载多个图像序列

    Xcode 6.0.1、Swift、UIKit、CoreGraphics 缺失