Get a Windows crash dump of a failed Platform component

When you’re developing and configuring Platform components in a Windows environment, if a component fails, you may need to obtain a crash dump to help you (or Caplin Support) diagnose the problem. This is a more complicated process than obtaining crash dumps in Linux, so here we explain one way to do it.

This procedure only works if you’re running the Caplin Deployment Framework under the Git Bash shell (see Installing the Deployment Framework). You can’t obtain Windows crash dumps this way if the Deployment Framework is running under Cygwin.

This procedure uses a utility (procdump) that alters the Windows registry on your PC, so it may not be suitable, or may not work at all, if your PC is "locked down" for security purposes.

Follow the steps below:

  1. Before you run any of the Platform components, set up your Windows installation to generate crash dumps:

    1. Download the procdump utility.

      This is a free Windows command-line utility for (amongst other things) generating crash dumps. It’s available from various web sites, such as Windows Sysinternals.

    2. Run procdump from a Windows command window:

      procdump -ma -i c:\dumps

      where c:\dumps is the folder where you want crash dump files to go. (C:\dumps is just an example; you can specify any convenient path.)

      This command registers procdump as the Just-in-Time (AeDebug) debugger.

  2. Now you can start the Platform components:

    ./dfw start
  3. If a crash occurs:

    1. Find the latest .dmp file in the dump location you previously specified in the procdump command.

    2. If you’ve asked Caplin Support to investigate the crash, send them the .dmp file, together with the log files of the component that crashed.

    3. If you want to examine the .dmp file yourself, you’ll need Microsoft Visual Studio. You can load the file into Visual Studio by double clicking on it. (Don’t use File > Open because it’ll open the file as a text file.)

      To see the dumped stack information, select the Debug Start button.


See also: