This article will detail the action plan you can implement to create a rule in Debug Diagnostic 1.2 to automate the dump generation when a hang of the IIS server or of your application is occurring.

This action plan can be applied when your W3WP.exe process or your application is hanged and that you are quickly aware of the situation to generate a dump yourself before the issue is gone. A hang of a process means the application is no longer responding within a normal execution time or is even not responding at all but the process is not crashing. This means there is no stop or restart of the process and you won't see any change to the Process ID.

Debug Diag can use the answer time of a specific URL to generate a dump file.
The main difficulty in this action plan is to decide what is the correct value to generate dumps. If you set a too high value, you'll never get a dump, however, if you set a too low value, you'll get tons of dumps which are may not be relevant to the issue you are trying to resolve.

Action Plan

  • Select "HTTP Response Times", then click on "Next >"

  • Click on "Add URL"
    • Here we'll use the PING monitoring. This allows us to test the accessibility to a page of a web application at regular interval. If the page is not accessible, Debug Diag will generate a series of dumps
    • In the "URL to ping" field, inform the page address facing the hang issue
    • In the "Ping every" field, set 30 seconds
    • In the "Timeout after" field, set 120 seconds
    • Then click on "OK"

Note: Those values are just example values so you may need to change them depending on your scenario.

  • Debug Diag offers you to test the specified URL to check it can correctly access to it. You can click on "yes"
    • Once the test has been completed, click on "OK"

  • Click on "Next >"

                

  • In the "Select Dump Targets" window
    • Click on "Add Dump Target"
    • In the "Target Type" field, choose "Web application pool" and select the Application Pool which is facing the hang issue
    • Click on "OK", and then on "Next >"

  • Set the "Configure UserDump Series" settings as followed:
    • Note 1: You may need to change these values depending on your scenario.
    • Note 2: Here, we'll generate a Full UserDump every 10 seconds. A maximum of 3 dumps will be generated.

  • Choose a name and a location for dumps file, then click on "Next >"
    • Setting those dumps on another disk than C:\ is possible
    • Please check you have enough available space disk as the dump size will be equal to the memory consummed by the process you are monitoring

  • In the window "Rule Completed", select "Activate the rule now", and then click on "Finish"
    • The rule is now configured and ready to generate dumps

  • Check the status is "Active"
    • If it's not, The "DbgSvc" service is surely not started
    • You can go in "Administrative Tools > Services" and start it
  • When a dump will be generated, you'll see the column "UserDump Count" being incremented

The dumps are located by default in "C:\Program Files\DebugDiag\Logs\Rule_Name".

We hope this article will help you out.
See you soon.
Sylvain Lecerf and the French IIS Microsoft Support Team