This article will detail the action plan you can implement to generate a series of manual hang dumps using Debug Diagnostic for a specific process.
This will allow you to see snapshots of the process over a period of time. You will then be able to check if a potential problem detected in one dump is still there in the next one and this is not an episodic phenomenon.
In this case we will focus on the W3WP.exe process corresponding to your Application Pool in IIS that is experiencing a hang.
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 Diagnostic 1.2 can be download at the following URL: http://www.microsoft.com/download/en/details.aspx?id=26798
- Once the tool has been installed and executed on the IIS server, the wizard "Select Rule Type" loads
- Click on "Cancel"
Go in the "Processes" tab (Please note this section doesn't refresh automatically. You can press the F5 key to refresh the processes list.)
- Right click on the W3WP.exe process facing the hang issue and click on "Create Userdump Series…"
If you have several W3WP.exe processes, you can check the "Web application pool name" column to know which one is corresponding to your Application Pool
Configure fields of the "Configure Userdump Series" window as followed, then click on "Save & Close" :
Note: In this case, we'll generate a Full User mode Dump every 10 seconds. A maximum of 3 dumps will be generated.
The following message will be displayed to indicate the generation has started.
Click on "OK"
The dumps are located by default in "C:\Program Files\DebugDiag\Logs\Misc".
This location can be modified by using the "Tools > Options and Settings…" menu, via the field "Manual Userdump Save Folder".
Note: No message will be displayed to indicate that the dump generation has been completed. So you'll need to check directly in the destination folder (by default "C:\Program Files\DebugDiag\Logs\Misc") if dumps have been generated or not.
We hope this article will help you out.
See you soon.
Sylvain Lecerf and the French IIS Microsoft Support Team