【问题标题】:iOS Crashlytics crash log shows _hidden even after upload the bitcode dSYM to fabric即使在将位码 dSYM 上传到结构后,iOS Crashlytics 崩溃日志仍显示 _hidden
【发布时间】:2018-07-06 18:45:03
【问题描述】:

我已经对我们应用程序中的崩溃进行了很长一段时间的调查,但我仍然无法弄清楚为什么 Crashlytics 不能象征某些崩溃(具体来说是 3 个)。这些实际上是应用程序当前的主要崩溃,我们正在拼命寻找任何可能的提示。

我们的应用启用了位码,并选择将 dSYM 上传到 Apple。我尝试通读 Crashlytics 文档All about Missing dSYMs,从 iTunesConnect 手动下载 dSYM zip,将其上传到 Fabric。之后“隐藏的”崩溃数量不断增加,问题是,我们从未在 fabric 中收到丢失 dSYM 警告,并且它没有显示我们正在尝试调查的应用构建的fabric settings page 中缺少 dSYM。

堆栈跟踪是这样的: Crash stack trace

任何帮助和建议将不胜感激!谢谢!

【问题讨论】:

    标签: ios crash-reports crashlytics bitcode


    【解决方案1】:

    我无法告诉你符号化失败的原因。但是通过查看您的崩溃报告,我想到了一些事情,也许它们可以以某种方式帮助您。

    崩溃发生在以某种方式使用 UIWebView 的闭包内。在用 javascript 做某事之后,资源被释放,这就是崩溃发生的时候。您可以在此处查看最后调用的代码:

    https://github.com/WebKit/webkit/blob/f43689c3ed50cd00bf76d5731983046b988e6efa/Source/WebCore/loader/cache/CachedResource.cpp

    那里没什么特别的。

    我的猜测是,闭包的输入变量被释放到早期。即使你是盲人,没有工作符号,你也可以尝试找到启动 JavaScript 调用的闭包并检查这种情况,例如[unowned self] in 或类似的并尝试将它们传递给拥有。这显然会导致内存泄漏,但您可以在释放之前对此进行测试。

    【讨论】:

    • 感谢您的回答。追踪它的问题是,我们的应用程序使用 UIWebView 的唯一部分是 DFP 广告,我完全不知道它的实现。这就是为什么我想获取符号化的崩溃日志并可能与他们的 SDK 团队讨论。
    • 你说瞎了,意思是没有来源?但这不是你的符号问题的原因吗?抱歉,可能是愚蠢的评论,不知道您真正使用的是哪个 SDK...
    • 你能解决这个问题吗?
    猜你喜欢
    • 2019-07-24
    • 1970-01-01
    • 1970-01-01
    • 2012-08-06
    • 2017-08-21
    • 2018-09-30
    • 1970-01-01
    • 2022-08-16
    • 1970-01-01
    相关资源
    最近更新 更多