iOS 崩溃分析和报告 [关闭]

2023-12-24

我们正在评估用于崩溃报告的 iOS 应用程序的第三方解决方案或自定义解决方案。我们正在研究 Crashlytics、BugSense、Testflight。它们似乎都达到了目的,即实时崩溃报告。 此外,我们一直在研究定制解决方案的实施Xcode 4.2 调试不表示堆栈调用 https://stackoverflow.com/questions/7841610/xcode-4-2-debug-doesnt-symbolicate-stack-call

2个问题:

  1. 当我们想要使用第三方解决方案(Crashlytics、BugSense 等)的唯一目的是崩溃报告时,它是否比自定义解决方案更有优势?
  2. 我们可以向自定义异常处理程序添加多少功能,例如如果我想使用 HTTP post 将堆栈跟踪发布到服务器,我可以在异常处理程序中执行此操作,还是需要等到我的应用程序下次启动才能发送日志?异常处理程序应该多久退出?

谢谢, 赫塔尔


您不应该创建自己的崩溃报告解决方案,而应使用现有的解决方案,因为编写可靠且安全的崩溃报告器很困难。兰登·富勒,开发者PLC故障报告器 https://code.google.com/p/plcrashreporter/,在本文中解释了原因:可靠的崩溃报告 http://landonf.bikemonkey.org/code/objc/Reliable_Crash_Reporting.20110912.html

一般来说,一旦发生崩溃,就应该不惜一切代价避免运行任何非异步安全代码!这意味着必须完全避免任何 Objective-C 代码。这也意味着您的崩溃报告应该仅在下次启动时发送到您的服务器。您也不应该依赖默认使用 PLCrashReporter 的第 3 方框架,因为该框架另外执行的任何操作也应该以异步安全的方式实现。

编写自己的异常处理程序几乎不会像基于 PLCrashReporter 的任何内容那样详细、良好和可靠。

除了您提到的第三方解决方案之外,还有开源解决方案昆西·基特 http://quincykit.net(基于 PLCrashReporter 以及基于 PHP 的基本服务器解决方案)和曲棍球应用程序 http://hockeyapp.net,也可以与 QuincyKit 客户端一起使用。 (注:我是这两个解决方案的开发者之一)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS 崩溃分析和报告 [关闭] 的相关文章

随机推荐