Generating backtrace, without compiler, on Windows

For the sake of this example, we will simply use PHP in the shell. The same
method can be used for IIS or any other process or services.

Once you have installed the Debug diagnostic tools and uncompressed PHP and
its debug pack (they can be kept in two separate folders), the first step is to
configure the diagnostic tools. Select the tools menu and click on "Options and
settings". The first tab contains the path to the symbols files, add the "debug
folder" to the existing list using the "browse" button:

Now we are ready to generate our backtrace.

We will use the wizard, click the "Add a rule" button and choose "Crash" as
the rule type:

In the next window, select "a specific process":

Add a "sleep(10);" for the first run (from the cmd: "php.exe crashme.php"),
it will let you enough time to click "next" and select the php process. If you
are debugging the Apache module, start Apache with -X option and choose
httpd.exe instead of php.exe from the process list. Then proceed further:

Click again next and let it crash. If everything went well, you should see
your new rule as shown in the image below:

It also detected that "php.exe" was used. A rule has been created for all
instance of "php.exe". It will save you the sleep and process selection.

Now you can click the "Analyze data" button:

Et voila, the complete report will show up in your internet explorer
(compressed html):

What we need is the backtrace itself which can be found under "Thread X -
System ID XXX".