If I were not a support engineer at Microsoft, obviously I could not know there are so many applications/programs crashing all around the world. So what to do when the application crashes on your machine when you need it the most?

No, please don't burst into tears or crying out on any internet forums (either sponsored by Microsoft or not). That can neither resolve the problem magically nor bring you some comfort.

If you are luckily running on latest Windows versions, Windows Error Reporting system can collect relevant information and automatically check if Microsoft database has a corresponding solution archived. This already helped me several times in the past (including a few BSOD cases, but BSOD should be treated differently*).

Although Microsoft hosts a large database, in theory it is impossible to have solutions for all crashes. Then the following steps are recommended,

  1. Learn about one of these tools (DebugDiag or ADPlus) about how to capture a crash dump**.
  2. Reproduce the application crash and capture a crash dump.
  3. Now you can analyze the dump (a) with your team mates or (b) ask for help from Microsoft support/the application vendor.

Note that you can even contact Microsoft support at first if you like, and our support engineers can assist you to capture dumps.

This is not rocket science but what anybody can study, so hope it helps when you meet such problems in the future.

*Generally speaking BSOD is caused by kernel mode code, which requires another approach I am not familiar with.

** a) DebugDiag (Debug Diagnostic Tool) 1.1 is available here. The instruction on how to use it is available in this KB article, which uses IIS processes as an example.

b) ADPlus is a script included in Debugging Tools for Windows. The instruction on how to use it is available in this KB article.