Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

They both are crashing report libraries that generates minidump for developer analyzing, and both are developed by Google's Chromium project:

breakpad

crashpad

Any difference in their intended use cases?

like image 629
Leedehai Avatar asked Oct 09 '18 16:10

Leedehai


2 Answers

See the Crashpad announcement for the reasons why it was developed.

The major difference with Breakpad appears to be that Crashpad enables out-of-process crash reporting also for Mac OS X 10.10 and newer, which Breakpads design could not support.

See also the note in Sentrys Breakpad documentation:

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

(which may be only really true for macOS 10.10+)

like image 127
Thorbjørn Lindeijer Avatar answered Nov 02 '22 01:11

Thorbjørn Lindeijer


/ 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

Reply to @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.

It is doc of Sentry, not doc of Breakpad

Actually Breakpad supports in-process and out-process on Windows/Linux/MacOSX(pre-10.10), according to https://chromium.googlesource.com/breakpad/breakpad/+/master/docs/exception_handling.md

like image 1
Sunbreak Avatar answered Nov 02 '22 01:11

Sunbreak