This article was previously published under Q273639
We strongly recommend that all users upgrade to Microsoft Internet Information Services (IIS) version 7.0 running on Microsoft Windows Server 2008. IIS 7.0 significantly increases Web infrastructure security. For more information about IIS security-related topics, visit the following Microsoft Web site:
This step-by-step article describes how to start a service (specifically IISAdmin and its dependent services) under a debugger.
Occasionally, issues occur when you start the IISAdmin service or one of its dependent services, such as the World Wide Web Publishing service or the FTP Publishing service. These services may stop responding (hang) or quit (crash) in a way that is not caught by the default system debugger. Also, if a service experiences a problem when it starts, the Service Control Manager (SCM) gracefully stops the service and reports to the Event Log that there was a problem starting the service.
If this information is not enough, you must determine where the issue exists during startup. If you are debugging an executable file, you can start the debugger of your choice, and then run the executable file under the debugger. This becomes more difficult when the executable file in question is running as a Microsoft Windows NT service. Although the environment is different, the approach is very similar.
Note In Internet Information Services 7.0, the World Wide Web Publishing service depends on the HTTP service and on the Windows Process Activation service.
This article describes how to start a service (specifically IISAdmin and its dependent services) under a debugger. The debugger that is used in the example is WinDBG. To download and install the debugging tools, visit the following Microsoft Web site:
Set the Image File Execution options so that when the service (or the executable file) starts, it starts under the debugger. Because you are working directly with a Windows NT service, make sure that you turn on the Interact With the Desktop option in the Log On As section of the Service Properties dialog box. Otherwise, when the service starts, it loads in the debugger, and you will not see it.
NOTE: The path that points to the debugger (WinDbg in the examples) cannot contain any spaces, nor can you use extensions in the debugger path; for example, it must be windbg, and not windbg.exe.
To debug IIS, including the File Transfer Protocol (FTP), Simple Mail Transfer Protocol (SMTP), Network News Transfer Protocol (NNTP), Web, and other services that run under the Inetinfo.exe process, set the IISAdmin service to Interact with the Desktop.
At a command prompt, type net stop iisadmin /y, and then press ENTER to stop IISAdmin and all the dependent services. Type net start w3svc, and then press ENTER to start the World Wide Web Publishing service and the IISAdmin service.
Start any other related services. This last step may be omitted or changed based on the situation. For example, if you are debugging an FTP (MSFTPSVC) service startup issue, instead of starting the World Wide Web Publishing service, you only have to start the FTP Publishing service (net start msftpsvc).
When the debugger is running, you can set up various options, such as symbol path. From this point, you can debug the service as any other executable process.
Microsoft Internet Information Services 7.0, Microsoft Internet Information Services 6.0, Microsoft Internet Information Services 5.0, Microsoft Internet Information Server 4.0, Microsoft Internet Information Server 3.0