Search code examples
c++exceptioncrashcrash-dumpsgoogle-breakpad

Why does google breakpad not handle all crashes? How can I debug these cases?


I'm using google-breakpad. This is a bug reporting program that runs in the background to report another process's crashs.

It works in almost every situation.

However it occasionally fails to catch a crash. There's no report and no dump file. It just crashes. The last clue for the crash is a windows event message.

How can I debug these crashes? What would cause Breakpad to not handle the crash? What methods can I use to debug the situation?


Solution

  • The Visual C++ C/C++ runtime library will remove the hook set with SetUnhandledExceptionFilter in certain circumstances; for example, when it detects a buffer overflow or other security problem.

    This Microsoft feedback page lists how to stop this behavior for most of the cases, but states that it's not possible for the buffer overflow case without introducing security problems.