Microsoft KB Archive/919792

= How to use the Debug Diagnostics tool to troubleshoot a process that has stopped responding in IIS =

Article ID: 919792

Article Last Modified on 3/14/2007

-

APPLIES TO


 * Microsoft Internet Information Services 6.0
 * Microsoft Internet Information Services 5.1
 * Microsoft Internet Information Services 5.0

-



SUMMARY
This article describes how to use the Debug Diagnostics tool to troubleshoot a Microsoft Internet Information Services (IIS) process that has stopped responding.



When an IIS process like Inetinfo.exe, Dllhost.exe, or W3wp.exe stops responding (hangs), you may experience any of the following symptoms:  A Web page does not load correctly. For example, the Web page appears to be blank or stops responding. You experience slow performance on a server that is running IIS. For example, the progress bar moves very slowly when you try to view a Web page, or you notice a message that resembles the following in the status bar:

Web site found. Waiting reply

  On a server that is running IIS 6.0, warning messages that resemble one of the following are written to the System log:

Warning message 1

Event Type: Warning

Event Source:

Event Category: None

Event ID: 1013

Description: A process serving application pool 'DefaultAppPool' exceeded time limits during shut down. The process id was ' '.

Warning message2

Event Type: Warning

Event Source:

Event Category: None

Event ID: 1010

Description: A process serving application pool 'DefaultAppPool' failed to respond to a ping. The process id was ' '. Note  is an IIS service that is running on the computer. is the Process ID for a process that is running on the computer. 

This article discusses how to install and how to configure the Debug Diagnostics tool. You can use the Debug Diagnostics tool to troubleshoot an IIS process that has stopped responding.



MORE INFORMATION
When an IIS process stops responding, we recommend that you create a full memory dump file of the IIS process while IIS is processing client requests. You can use the Debug Diagnostics tool to capture and analyze memory dump files that are captured when IIS is processing client requests.

To install and configure the Debug Diagnostics tool, follow these steps:  Download and install the Debug Diagnostics Tool. To install the Debug Diagnostics Tool, visit the following Microsoft Web site:

Note The Debug Diagnostics Tool 1.0 is included with the IIS Diagnostics Toolkit.

http://www.iis.net/handlers/895/ItemPermaLink.ashx

Note If you are configuring the Debug Diagnostics tool for use with IIS 6.0, go to step 3. In Microsoft Internet Information Services 5.1 and in Microsoft Internet Information Services 5.0, turn off the debug exception catching feature. To do this, follow these steps:  Click Start, click Run, type Inetmgr.exe, and then click OK.</li> Right-click the computer that you want to configure, and then click Properties.</li> In the Master Properties list, click WWW Service, and then click Edit.</li> On the Home Directory tab, click Configuration.</li> On the Process Options tab, click to clear the Enable debug exception catching check box, and then click OK.</li> Restart IIS. You must restart IIS for this change to take effect.</li></ol> </li> Create a dump file by using one of the following methods:  Create a hang rule. To do this, follow these steps: <ol style="list-style-type: lower-alpha;"> Click Start, click Run, type the path of the Debug Diagnostics tool, and then click OK.

Note By default, the Debug Diagnostics tool is located in the C:\Program Files\IIS Resources\DebugDiag folder.</li> On the Rules tab, click Add Rule.</li> Click IIS Hang, and then click Next.</li> Click Add URL, type the URL for a Web site on which you experience the issue, click OK, and then click Yes to test the URL.</li> Click OK, and then click Next.</li> Click Add Dump Target.</li> In the Target Type list, click the target type that you want, click OK, and then click Next.</li> <li>Type a name for the rule, type a path for the user dump file location, and then click Next.</li> <li>Click Activate the rule now, and then click Finish.</li> <li>On the Rules tab, notice that the rule is Active in the Status column.</li></ol> </li> <li>Manually create an IIS Hang Dump file. To do this, follow these steps: <ol style="list-style-type: lower-alpha;"> <li>Click Start, click Run, type the path of the Debug Diagnostics tool, and then click OK.

Note By default, the Debug Diagnostics tool is located in the C:\Program Files\IIS Resources\DebugDiag folder.</li> <li>On the Tools menu, click Create IIS Hang Dump.</li></ol> </li> <li>Create a user dump file for a process. To do this, follow these steps: <ol style="list-style-type: lower-alpha;"> <li>Click Start, click Run, type the path of the Debug Diagnostics tool, and then click OK.

Note By default, the Debug Diagnostics tool is located in the C:\Program Files\IIS Resources\DebugDiag folder.</li> <li>On the Processes tab, right-click the process that you want to troubleshoot, and then click Create Full Userdump.</li></ol> </li></ul> </li> <li>Analyze the dump file. To analyze the dump file, follow these steps: <ol style="list-style-type: lower-alpha;"> <li>Click Start, click Run, type the path ofthe Debug Diagnostics tool, and then click OK.

Note By default, the Debug Diagnostics tool is located in the C:\Program Files\IIS Resources\DebugDiag folder.</li> <li>On the Advanced Analysis tab, click Add Data Files.</li> <li>Locate and then click the dump file that you want to analyze, and then click Open.</li> <li>On the Advanced Analysis tab, click Crash/Hang Analysis, and then click Start Analysis.</li> <li>Review the report that is displayed in Microsoft Internet Explorer. A copy of this report is also stored in the IIS Resources\DebugDiag\Reports folder.</li></ol> </li></ol>

Note If you want to troubleshoot a custom DLL, you can include the custom PDB files. To include the custom PDB files, click Options and Settings on the Tools menu, click Folder and Search Paths, type the path in the Symbol Search Path for Debugging box, and then click OK.

<div class="references_section">