[Updated on Dec. 18th 2017]
Currently the latest version of Debug Diagnostic is Version 2 update 2, which can be downloaded here : https://www.microsoft.com/en-us/download/details.aspx?id=49924
(Note : both 64bit and 32bit versions are available in this link, please download the one matching your machine.)
This version includes 2 components : Debugdiag 2 Collection and Debugdiag 2 Analysis.
Debugdiag 2 Collection is used to capture dumps, and Debugdiag 2 Analysis is used to generate automatic report.
This article will detail the action plan you can implement to create a rule in Debug Diagnostic 2 to automate a dump generation in function of some specified performance counters for your IIS server or your application.
This action plan is applicable when your "W3WP.exe" process or your application is consuming too much CPU, consuming too much memory (for managed code), is in a deadlock situation…
- Run "Debugdiag 2 Collection"
- Once the tool has been installed and executed on the IIS server, the wizard "Select Rule Type" loads
- Choose "Performance", and then click on "Next >"
Choose "Performance Counters", then click on "Next >"
Click on "Add Perf Triggers…"
- Select one or several counter(s) for which you want to generate a dump if a certain value is exceeded (here we'll take the example of a high CPU consumption)
- Then click on "OK"
Select the counter you just have added and click on "Edit Thresholds…"
- Here a dump will be generated if the % CPU Time is greater than 95% during 10 seconds
- Once those parameters are configured, click on "OK", and then on "Next >"
Note: Those values are only informed as an indicator. You may need to change them depending on your scenario.
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 consumed 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 Jin Wang from IIS support team of Microsoft France