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.