title: What actions do I need to take to get a crash dump in ALL error scenarios?
body: <p>We're on Windows and we want to get a crash dump (possibly using <code>MiniDumpWriteDump</code>) for <em>all</em> scenarios where our application exit's unexpectedly.</p>
  
  <p>So far we have identified, and set up, the following:</p>
  
  <ul>
  <li><code>SetUnhandledExceptionFilter</code> for unhandled exception (Win32 as well as "normal" C++ ones.)</li>
  <li><code>_set_invalid_parameter_handler</code> for the CRT invalid argument handling</li>
  <li><code>_set_abort_behavior</code>plus a <code>SIGABRT</code> handler to account for calls to <code>abort()</code></li>
  </ul>
  
  <p>Is there anything we missed? (Modulo some code non-legitimately calling <code>ExitProcess</code>, <code>TerminateProcess</code> or one of the <code>exit</code> variants.)</p>
  
  <hr>
  
  <p>I'll note that this question here is orthogonal to <em>how</em> a crash dump is then obtained. E.g., if you want a crash dump in case of <code>abort</code>, you always must use <code>_set_abort_behaviour</code> because otherwise abort just <code>exit</code>s.</p>
  
  <p>I'll also note that on Windows7+, <em>not</em> setting <code>SetUHEF</code> and just setting up the <a href="https://msdn.microsoft.com/en-us/library/windows/desktop/bb787181(v=vs.85).aspx" rel="nofollow noreferrer">"correct" WER dump settings in the registry</a> is often a viable way.</p>