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



The information in this article applies to:

  • Microsoft Internet Information Services 6.0
  • Microsoft Internet Information Services version 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, warning messages that resemble one of the following are written to the System log:

    Warning message 1

    Event Type: Warning
    Event Source: IISService
    Event Category: None
    Event ID: 1013
    Description: A process serving application pool 'DefaultAppPool' exceeded time limits during shut down. The process id was 'ProcessID'.

    Warning message2

    Event Type: Warning
    Event Source: IISService
    Event Category: None
    Event ID: 1010
    Description: A process serving application pool 'DefaultAppPool' failed to respond to a ping. The process id was 'ProcessID'.Note IISService is an IIS service that is running on the computer. ProcessID is the Process ID for a process that is running on the computer:
This article discusses how to install and configure 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:
  1. 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.

    Note If you are configuring the Debug Diagnostics tool for use with IIS 6, go to step 3.
  2. 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:
    1. Click Start, click Run, type Inetmgr.exe, and then click OK.
    2. Right-click the computer that you want to configure, and then click Properties.
    3. In the Master Properties list, click WWW Service, and then click Edit.
    4. On the Home Directory tab, click Configuration.
    5. On the Process Options tab, click to clear the Enable debug exception catching check box, and then click OK.
  3. Create a dump file by using one of the following methods:
    • Create a hang rule. To do this, follow these steps:
      1. 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.
      2. On the Rules tab, click Add Rule.
      3. Click IIS Hang, and then click Next.
      4. 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.
      5. Click OK, and then click Next.
      6. Click Add Dump Target.
      7. In the Target Type list, click the target type that you want, click OK, and then click Next.
      8. Type a name for the rule, type a path for the user dump file location, and then click Next.
      9. Click Activate the rule now, and then click Finish.
      10. On the Rules tab, notice that the rule is Active in the Status column.
    • Manually create an IIS Hang Dump file. To do this, follow these steps:
      1. 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.
      2. On the Tools menu, click Create IIS Hang Dump.
    • Create a user dump file for a process. To do this, follow these steps:
      1. 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.
      2. On the Processes tab, right-click the process that you want to troubleshoot, and then click Create Full Userdump.
  4. Analyze the dump file. To analyze the dump file, follow these steps:
    1. 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.
    2. On the Advanced Analysis tab, click Add Data Files.
    3. Locate and then click the dump file that you want to analyze, and then click Open.
    4. On the Advanced Analysis tab, click Crash/Hang Analysis, and then click Start Analysis.
    5. 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.
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.

REFERENCES

For more information about how to use the Debug Diagnostics tool to troubleshoot high CPU usage by an IIS process, click the following article number to view the article in the Microsoft Knowledge Base:

919791 How to use the Debug Diagnostics Tool to troubleshoot high CPU usage by a process in IIS

For more information about how to use the Debug Diagnostics tool to troubleshoot high memory usage by an IIS process, click the following article number to view the article in the Microsoft Knowledge Base:

919790 How to use the IIS Debug Diagnostics tool to troubleshoot a memory leak in an IIS process

For more information about how to use the Debug Diagnostics tool to troubleshoot an IIS process that closes unexpectedly, click the following article number to view the article in the Microsoft Knowledge Base:

919789 How to use the Debug Diagnostics tool to troubleshoot an IIS process that stops unexpectedly


Modification Type:MinorLast Reviewed:9/15/2006
Keywords:kbhowto KB919792 kbAudITPRO kbAudDeveloper