(转)无法在 Web 服务器上启动调试

错误:无法在 Web 服务器上启动调试 
当试图对运行在 Web 服务器上的应用程序进行调试时,有时可能会得到此错误信息:
Unable to start debugging on the Web server

如果您的消息更长一些,则会用这个消息的子主题覆盖您的消息。

如果遇到此错误,则需要考虑几个问题。首先转到“要检查的内容”,然后根据硬件和软件配置考虑其余几项内容。

要检查的内容

请尝试检查下列内容:

远程服务器上的 Web 应用程序

如果 Web 应用程序在远程服务器上,请首先确保仔细检查了“要检查的内容”中的各项内容。接下来请检查以下内容:

  • 运行 IIS 服务器的计算机是否已安装 Visual Studio 远程组件?有关更多信息,请参见为调试 ASP.NET 应用程序做好准备

  • 您是否具有进行调试所必需的访问特权?有关更多信息,请参见 ASP.NET 调试:系统要求中的“安全要求”一节。

  • 您是否正在使用“终端服务器”尝试调试远程计算机上的 Web 应用程序?在 Windows XP 下,支持使用“终端服务器”对本机 Web 应用程序进行远程调试。而在 Windows 2000 或 Windows NT 下则不支持。

存储在 Visual SourceSafe 中并使用 FrontPage 服务器扩展的 Web 应用程序

如果 Web 应用程序存储在 Visual SourceSafe 中并且使用 FrontPage 服务器扩展作为它的 Web 访问模式,则请检查以下内容:

  • Visual SourceSafe 是否与 FrontPage 服务器/Web 服务器位于同一台计算机上?如果是,则可以使用“集成身份验证”进行调试。若要检查“集成身份验证”设置,请参见过程“检查 Web 应用程序的 IIS 安全设置”,它位于主题如何:验证 IIS 属性设置中。

服务器因语法无效而未能处理调试请求

有时,服务器会因语法错误而无法处理调试请求。machine.config 文件中的错误可能导致请求语法出错。如果 machine.config 文件将 maxRequestLength 设为一个异常巨大的值(例如 40,960,000),则会发生此错误。

手动附加

如果按照这些疑难解答步骤执行了相应操作,而在开始调试时仍然收到错误信息,则可能需要尝试通过手动附加来调试应用程序。

手动附加

  1. 启动应用程序而不调试。(从“调试”菜单中,选择“开始执行(不调试)”。)

  2. 确定适当的 IIS 进程或辅助进程的名称。默认情况下,ATL Server 应用程序名为 inetinfo.exe。若要确定 ASP.NET 辅助进程的名称,请参见如何:查找 ASP.NET 进程的名称

    使用下面的过程之一来确定 ASP.NET 或 ATL Server 应用程序在哪个进程下运行。

  3. 附加到前一步骤确定的进程。有关更多信息,请参见如何:附加到运行进程

检查 ASP.NET 应用程序在哪个进程下运行

  1. 使用 Visual Studio 或其他文本编辑器打开应用程序的 machine.config 文件。

  2. system.web 节点内,查找 ProcessModel 节点,然后检查它的 enable 属性:

    如果 enable 设置为 TRUE,则应用程序在 aspnet_wp.exew3wp.exe 下运行。(这也是默认设置。)

    如果 enable 设置为 FALSE,则应用程序在 inetinfo.exe 下运行。

检查 ATL Server 应用程序在哪个进程下运行

  1. 在解决方案资源管理器中,右击项目名称,然后从快捷菜单中选择“属性”。

  2. “<项目> 属性页”对话框中,打开“Web 部署”文件夹,然后选择“常规”

  3. 查看“应用程序保护”设置。

    如果此设置为“低(IIS 进程)”,则应用程序在 inetinfo.exe 下运行。

    如果此设置为“中等(池)”,则应用程序在 dllhost.exe 进程下运行(与其他放入池中的 ATL Server 应用程序相同)。

    如果此设置为“高(独立)”,则应用程序在 dllhost.exe 进程下运行(与其他 ATL Server 应用程序不同)。

  4. 单击“确定”关闭“<项目> 属性页”对话框。

posted @ 2006-09-29 15:15  阿东hd  阅读(834)  评论(0编辑  收藏  举报