Lab 16: Configuring Failed Request Tracing to take a memory dump

This article has been moved to its new home here:


  • Read this, using ADPLUS here
  • Download/Read about Procdump here
  • Have a look at Lab 19 and Lab 20, for other examples of Procdump
  • Review this blog here


  • Install and Configure CSharpGuitarBugs on an IIS server as described in Lab 1
  • Install and Configure Failed Request Tracing on the same IIS server as described in Lab 4
  • Copy PROCDUMP.exe to the c:\windows\system32 directory on the IIS server


Perform the following to configure Failed Request Tracing to capture a memory dump

1. Configure a Server Level Failed Request Rule to run when the Status Code = 400-599 (seems to work best when the rule is base on Time Taken)

image image

2. Open the IIS management console and click on the IIS Server name

3. Open the Configuration Editor


4. Click on the … of the (Collection) and set customActionEnabled and enabled to TRUE


5. Then, Apply the changes

6. Download and copy ProcDump


b. Copy Procdump.exe (procdemp64.exe) into the c:\windows\system32 directory, create a c:\temp\dumps directory to store the dump

7. Click on the Failed Request Tracing… link, for the CSharpGuitarBugs website, in the Actions pane and Enable it.


8. Click on the CSharpGuitarBugs Web Site, then on the Configuration Editor


9. Click on the … and Add the following

a. customActionExe: c:\windows\system32\procdump.exe

b. customActionParams: -accepteula –ma %1% c:\dumps

c. customActionTriggerLimit: 50

d. path: *


10. Apply the changes and click on the Search Forums link in the CSharpGuitarBugs website, or with the Time Take rule, click on the View By Manufacturer link…, notice that the %1% is the parameter that passes the PID to Procdump.

image image

11. A memory dump of the W3WP process is created and placed in the c:\temp\dumps directory. You can now use WindDbg or any other memory dump analysis tool to find out the root cause of the issue.