How to get backtraces in Microsoft Windows

Last edited on

Introduction

If your application crashes when it is run by Squish, sometimes the only way to track down the problem is to use a debug build of Squish (or a release build with debug symbols). The following options exist:

  1. Build a debug build (or a release build with debug symbols) yourself.

  2. Use a release or debug Squish package provided by froglogic that contains the debug symbols files (*.pdb; not included in default release builds).

Getting a backtrace from the crash

First you must disable Squish’s two crash handlers. This is done by setting two environment variables before starting the Squish IDE or squishrunner or squishserver. For example:

set SQUISH_NO_CRASHHANDLER=1
set SQUISH_DISABLE_DUMPFILES=1
"C:\squish\squishide.exe"

Once the handlers have been switched off, reproduce the crash. This should result in the Windows crash dialog appearing.

In this dialog, choose to debug the application, and then pick any of the Visual Studio installations offered as the Just-In-Time debugger.

Visual Studio will start up and will display a dialog like this one:

Here you must click Break. Afterwards Visual Studio may display a Call Stack view similar to the one shown here:

To send the call stack to froglogic or somebody else for inspection, copy the call stack that is displayed. This can be done by clicking in the view and then pressing Ctrl+A to select it all, and then Ctrl+C to copy it to the clipboard. Once it is in the clipboard it can be pasted, e.g., into an email, using Ctrl+V.