是否可以在使用 Fabric / Crashlytics 启动时查看先前崩溃的堆栈跟踪?
Posted
技术标签:
【中文标题】是否可以在使用 Fabric / Crashlytics 启动时查看先前崩溃的堆栈跟踪?【英文标题】:Is it possible to see stack trace of previous crash on launch with Fabric / Crashlytics? 【发布时间】:2018-11-24 20:30:36 【问题描述】:上下文
我的应用的大部分崩溃都发生在第三方代码中,例如广告 SDK。我们可以测试与 SDK 的集成,但无法测试用户将看到的所有内容。借助广告 SDK,它们可以远程配置并始终加载不同的广告。恶意广告或配置不当的广告似乎是一种非常常见的崩溃。
我想要完成的是检测崩溃是由第三方引起的,然后为下一次会话禁用该 SDK,从而为用户提供一种“安全模式”来运行应用程序,以便他们重新启动时不会在崩溃后遇到崩溃。我可以对所有崩溃执行此操作并关闭所有 SDK,但如果可能的话,我想更加慎重。
什么是可能的,据我所知
如果您的应用崩溃,Fabric 将通过其CrashlyticsDelegate
方法告诉您,例如- (void)crashlyticsDidDetectReportForLastExecution:(CLSReport *)report;
.
这些方法为您提供了一个 CLSReport
对象,它告诉您您在 Crashlytics 上设置的所有信息(例如用户信息、自定义键等)。不幸的是,这个对象并没有告诉你任何关于崩溃本身的信息。
供参考:https://docs.fabric.io/apple/crashlytics/advanced-setup.html#control-submission-behavior
我的问题/功能请求
如果我可以获得崩溃的堆栈跟踪,我可以轻松找出导致崩溃的 SDK 并决定不打开那个。任何想法如何得到这个?
【问题讨论】:
【参考方案1】:感谢您就此事与我们联系。创建此方法是为了允许选择加入崩溃报告,而不是检查堆栈跟踪。恐怕没有一种好方法可以在重新启动时获取堆栈跟踪。不过,我认为这是一个有趣的用例,会让团队知道!
【讨论】:
以上是关于是否可以在使用 Fabric / Crashlytics 启动时查看先前崩溃的堆栈跟踪?的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 android 中使用 Fabric Crashlytics 将崩溃日志保存到电子邮件中?
是否可以添加或删除 Service Fabric 有状态服务命名分区