Troubleshooting a Hang in an IIS 6 Process with DebugDiag

 

 

DEBUG TRUE CHECK

Please double-check all web.config files on the server to see if Debug is set to True.  In production web servers, debug should always be set to false. 

If any web.config files have debug statements set to true, please change true to false before doing any further troubleshooting.

To read more on this, please consider this page: ASPNETDebugTrue.

 

 INSTALL DEBUGDIAG

Debugdiag may be downloaded from http://microsoft.com/downloads 

Search “All Products” there for:   Debugdiag

Notes:

·        Please download DebugDiag v 1.1 (unless a newer version is available)

·        If you have a 64-bit OS and IIS is running in 64-bit mode, you’ll need to use the adplus.vbs from the 64-bit version of the windows debugging tools.  DebugDiag v1.1 cannot make dumps of a 64-bit process yet. 

·        Please install DebugDiag on the server exhibiting unresponsive web pages.  If you want to attach a debugger to a process on a remote machine, you’ll want to use windbg.exe.

·        FREESPACE - Since dump files will generally be created in the same path, please be sure to install this on a drive that has at least one gigabyte of free space.  The default install path is C:\Program Files\IIS Resources\DebugDiag but may be changed at the beginning of the installation.  If free space is limited, you may get an idea of the minimum size of the .dmp files by opening taskmanager and adding up the amounts of virtual memory used by inetinfo.exe, dllhost.exe’s, aspnet_wp.exe, and/or w3wp.exe’s. We will have a .dmp file for each of these processes that you see in taskmanager.

·        Before using debugdiag, ensure that no other debugging tools are installed and/or running.  For instance, if iisdump.exe was installed earlier, it needs to be removed or else its isapi filter needs to be removed from IIS.  If ADplus.vbs is installed, that’s fine, but don’t attach it to the iis processes while running debugdiag.

·        It also may be downloaded from http://iis.net/downloads/default.aspx?tabid=34&g=6&i=1286

 

 

WAIT

 

Wait for the hang to occur.

 

 

LAUNCH DEBUGDIAG

 

When the web application(s) begin to exhibit hung, unresponsive, and/or sluggish performance,  launch DebugDiag (Start Button >  Programs > Debug Diagnostics Tool 1.1)

a)      Click Cancel if given the choice of making a Crash Rule or Hang Rule

b)     Expand the Tools menu

c)      Select “Create IIS/Com+ Hang Dump” and wait for dump creation to occur (may take 30 seconds or more depending on size of the w3wp.exe)

 

 

 

IISRESET

 

After the dmp files are fully written to, feel free to restart IIS (or recycle the application pool) to recover temporarily from the hang

 

 

DATA COLLECTION

 

  Select “Advanced Data Collection”

  Select “Create Full Cabinet File”

 

 

Creating the full cabinet file will compress the event logs, the most recent IIS log, the metabase, the httperr log, all .net config files, and all dmp files together into one convenient .cab file.

 

 

 

UPLOAD

After the compression process is finished, please find and upload the .cab file.

The easiest way to find the cabinet file is to click the icon of the manila folder in debugdiag (as seen in the screenshot below).  This will take you to the default dump location of: C:\Program Files\IIS Resources\DebugDiag\Logs\<Name of Rule>. If you chose a non-default location for the dumps to be sent to, you will probably need to zip those dmp files and upload them as well.  (The Advanced Data Collection > Create Full Cabinet File only compresses the folders and files found in C:\Program Files\IIS Resources\DebugDiag\Logs\

 

 

 

Please upload the .cab file to the following secure workspace:

Upload the files to the secure workspace or ftp site provided to you by your IIS/ASP.net support engineer.