【问题标题】:What is the difference between Google's breakpad and crashpad libraries?Google 的 breakpad 和 crashpad 库有什么区别?
【发布时间】:2018-10-09 16:15:09
【问题描述】:

它们都是崩溃报告库,会生成用于开发者分析的 minidump,并且都是由 Google 的 Chromium 项目开发的:

breakpad

crashpad

他们的预期用例有什么不同吗?

【问题讨论】:

  • Crashpad 较新,我认为计划更好地支持一些较新的平台。 Breakpad 被 Windows、Linux 和 Mac(也可能在 Android 上)上的许多大型开源项目使用,例如Mozilla Firefox、Chromium(并非所有平台)、LibreOffice(仅限 Windows 和 Linux)。上次我深入研究它时(2016 年),breakpad 至少在桌面用例方面更加成熟,但我觉得 crashpad 的开发更加积极。
  • @moggi 请将答案作为答案发布

标签: minidump google-breakpad


【解决方案1】:

请参阅the Crashpad announcement 了解其开发原因。

与 Breakpad 的主要区别似乎在于,Crashpad 还可以为 Mac OS X 10.10 及更高版本启用进程外崩溃报告,而 Breakpad 的设计无法支持。

另见Sentrys Breakpad documentation中的注释:

Breakpad 使用进程内崩溃报告,它的健壮性较差,并且与进程外崩溃报告相比有几个缺点。

(这可能只适用于 macOS 10.10+)

【讨论】:

    【解决方案2】:
    / Breakpad Crashpad
    OSX-10.10+/in-process
    OSX-10.10+/out-process
    / Breakpad Crashpad
    iOS-5.0+/in-process
    tvOS/in-process
    watchOS/in-process

    回复@Lindeijer

    另见Breakpads documentation中的注释:

    与 Crashpad 不同,Breakpad 使用进程内崩溃报告。这不太健壮,并且与进程外崩溃报告相比有几个缺点。除非您已经集成了 Breakpad,否则我们强烈建议您考虑改用 Crashpad。

    这是Sentry 的文档,而不是Breakpad 的文档

    实际上Breakpad在Windows/Linux/MacOSX(pre-10.10)上支持进程内和进程外,根据https://chromium.googlesource.com/breakpad/breakpad/+/master/docs/exception_handling.md

    【讨论】:

    • 如果您要回复,请对我的回答发表评论。现在我偶然注意到了你的答案,三年后你写了它。 :-) 你是对的,链接的文档用于将 Breakpad 与 Sentry 一起使用。但我从未在我的回答中说 Breakpad 不支持正在进行的崩溃报告,只是它无法在 macOS 10.10+ 上执行此操作。
    • 啊,所以我引用的文字确实是这样说的。也许这仅适用于 Breakpad 与 Sentry 的使用。无论如何,我做了一些小的更正。另外,哎呀,不是 3 年后……我把“Sep 18”误读为 2018 年 9 月!
    • 对不起。到目前为止,我没有足够的积分来发表评论
    猜你喜欢
    • 2012-06-12
    • 2013-05-15
    • 2011-01-12
    • 1970-01-01
    • 2014-02-27
    • 1970-01-01
    • 2012-11-07
    • 1970-01-01
    相关资源
    最近更新 更多