Closed bruno-garcia closed 2 weeks ago
possible duplicate of #908
But it doesn't help one understand the trade offs between inproc and breakpad. When should I use one over the other? Any quirks depending on which platform I'm running?
This question is indeed a duplicate of #908.
How does in-proc work on each platform? For example does it use MiniDumpWriteDump on Windows?
inproc
does not produce minidumps on any platform but only generates stack traces from OS-available unwinder infra (which led to breakage on macOS, where it doesn't work since macOS 14). breakpad
or a separate endpoint. abort()
and other fast-fail crashes won't register on Windows (also true for breakpad
). inproc
handler has no C++ code, it has no runtime dependency on any C++ standard library (which both breakpad
and crashpad
have).inproc
is simple code (== small size) that maps much more directly to Sentry's event API (might be helpful for users who want to preprocess in their own local relay)I have yet to see a use case where breakpad
would be less convenient for users than inproc
. The primary use-case for inproc
is Android, and here, mainly because we use a fork of the platform-unwinder libunwindstack
(both with considerable issues of their own, as documented in multiple places). Due to the low usage outside Android, the backend is the least maintained.
Thanks for that reply.
That information, combined with this reply is I believe very detailed and should help us make the right call.
I strongly believe that all of these details belong on the docs. They are indeed very deep and technical and I don't expect the average engineer to need to dig into them. But many Sentry users are not average engineers and will wonder "Why are my abort()
not working on platform X using plugin Y?" We could point folks to those details.
In the docs we say:
But it doesn't help one understand the trade offs between inproc and breakpad. When should I use one over the other? Any quirks depending on which platform I'm running?
How does in-proc work on each platform? For example does it use MiniDumpWriteDump on Windows?