Google 的 breakpad 和 crashpad 库有什么区别?

What is the difference between Google's breakpad and crashpad libraries?

它们都是生成小型转储供开发人员分析的崩溃报告库,它们都是由 Google 的 Chromium 项目开发的:

breakpad

crashpad

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

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

与 Breakpad 的主要区别似乎是 Crashpad 还为 Mac OS X 10.10 和更新版本启用进程外崩溃报告,Breakpads 设计无法支持。

另见 Sentrys Breakpad documentation 中的注释:

Breakpad uses in-process crash reporting, which is less robust and has several disadvantages over out-of-process crash reporting.

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

/ 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

See also the note in Breakpads documentation:

As opposed to Crashpad, Breakpad uses in-process crash reporting. This is less robust and has several disadvantages over out-of-process crash reporting. Unless you have integrated Breakpad already, we strongly recommend you to consider using Crashpad instead.

它是 Sentry 的文档,而不是 Breakpad

的文档

实际上 Breakpad 根据 https://chromium.googlesource.com/breakpad/breakpad/+/master/docs/exception_handling.md

在 Windows/Linux/MacOSX(10.10 之前的版本)上支持进程内和进程外