14

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?

Leedehai
  • 3,660
  • 3
  • 21
  • 44
  • 4
    Crashpad is newer and I think was planned with better support for some newer platforms. Breakpad is used by a number of large Open Source projects on Windows, Linux and Mac (possibly also on Android), e.g. Mozilla Firefox, Chromium (not all platforms), LibreOffice (only Windows and Linux). The last time I looked deeper into it (2016) breakpad was more mature at least for desktop use cases but I had the feeling that crashpad was more actively developed. – moggi Oct 19 '18 at 23:18
  • @moggi Please post answers as answers – Lightness Races in Orbit Nov 07 '19 at 11:59

2 Answers2

8

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+)

Thorbjørn Lindeijer
  • 2,022
  • 1
  • 17
  • 22
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

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

Sunbreak
  • 391
  • 3
  • 8
  • If you're going to make a reply, please make a comment on my answer. Now I've noticed your answer by accident, 3 years after you wrote it. :-) You're correct, the linked docs are for using Breakpad with Sentry. But I never stated in my answer that Breakpad did not support out-of-progress crash reporting, only that it couldn't do this on macOS 10.10+. – Thorbjørn Lindeijer Nov 03 '21 at 10:43
  • Ah, so the text I quoted did say this. Maybe that applies only to usage of Breakpad with Sentry. I've made some small corrections, in any case. Also, whoops, not 3 years later... I misread "Sep 18" as being September 2018! – Thorbjørn Lindeijer Nov 03 '21 at 10:53
  • Sorry. I didn't have enough credits to comment until now – Sunbreak Nov 19 '21 at 07:39