Google 的 breakpad 和 crashpad 库有什么区别?
What is the difference between Google's breakpad and crashpad libraries?
它们都是生成小型转储供开发人员分析的崩溃报告库,它们都是由 Google 的 Chromium 项目开发的:
它们的预期用例有什么不同吗?
请参阅 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
✅
❌
- https://github.com/google/breakpad/blob/1147c2fcf09cf150e6d7891e94bd390c6c8a9def/src/client/ios/exception_handler_no_mach.cc#L37-L41
- https://github.com/google/breakpad/blob/1147c2fcf09cf150e6d7891e94bd390c6c8a9def/src/client/ios/Breakpad.mm#L50-L54
- https://groups.google.com/a/chromium.org/g/crashpad-dev/c/SSq9CriDJGo
回复@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 之前的版本)上支持进程内和进程外
它们都是生成小型转储供开发人员分析的崩溃报告库,它们都是由 Google 的 Chromium 项目开发的:
它们的预期用例有什么不同吗?
请参阅 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 | ✅ | ❌ |
- https://github.com/google/breakpad/blob/1147c2fcf09cf150e6d7891e94bd390c6c8a9def/src/client/ios/exception_handler_no_mach.cc#L37-L41
- https://github.com/google/breakpad/blob/1147c2fcf09cf150e6d7891e94bd390c6c8a9def/src/client/ios/Breakpad.mm#L50-L54
- https://groups.google.com/a/chromium.org/g/crashpad-dev/c/SSq9CriDJGo
回复@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