如何在Classic ASP中设置断点? (IIS7 / VS2010)

时间:2011-01-27 15:42:06

标签: debugging asp-classic breakpoints

我有一个混合的ASP.NET /经典ASP应用程序,我希望能够在ASP代码中设置断点。这可能吗?使用VS2010 Ultimate在Win7上运行IIS7。

4 个答案:

答案 0 :(得分:13)

在VBScript中,Stop语句可用于触发断点。

Response.Write "a line"
Stop
Response.Write "a line after the breakpoint

我假设这是您要调试的本地IIS7实例。在我的计算机上,当我尝试加载具有Stop语句的示例页面时,我获得了Visual Studio即时调试器弹出窗口。您需要提供管理权限才能调试页面。

您可能还需要在IIS管理器的“ASP”小程序中启用服务器端调试,但刚刚检查时,我的计算机上的服务器端调试设置为False。


如果您不介意使用管理员权限(或已经执行)运行Visual Studio,那么您还可以尝试以下操作:

  1. 使用“文件 - >打开网站...”命令打开网站(在“本地IIS”部分下)。
  2. 从Solution Explorer中,打开要调试的文件并设置断点。
  3. 通过选择“Debug - > Attach to Process ...”菜单项启动调试器。选择“w3wp.exe”进程。
  4. 现在,当您尝试在浏览器中加载页面时,Visual Studio将在任何断点处停止。
  5. 另请注意,如果对页面进行更改,则更改将保存到磁盘。在工作中,我使用VS2005作为经典ASP的主编辑器,正是因为我可以轻松设置断点。


    我尚未尝试的第三个选项可能是最近发布的IIS Express。它应该是专为没有完全管理员权限的开发人员设计的,因此调试可能不需要提升提示。如果我有机会在接下来的几天内试一试,我会更新我的答案。

答案 1 :(得分:1)

response.write("my value....")
response.end
;)

答案 2 :(得分:0)

我遇到过这种情况几次。这总结了“典型的嫌疑人”。如果您了解更多信息,请添加修改或评论。

  1. 确保web.config具有debug =“True”

  2. 确保附加到正确的w3wp.exe进程

  3. 确保IIS中与此站点关联的App Pool配置将Maximum Worker Processes设置为1(可在Process Model部分找到)。

  4. 确保IIS中站点的ASP配置允许客户端和服务器调试(可在“调试属性”部分中找到)。

  5. 确保machine.config在部署代码中没有retail =“True”。此属性的默认值为false,允许调试。

  6. - ss

答案 3 :(得分:0)

我不确定是否有人遇到过这个问题。我在IIS 7.5和VS2010上有一个asp.net和经典的ASP混合应用程序。我正在按照调试经典ASP的所有必要步骤,但没有运气。最后发现,当我们W3wp.exe自动获得附加时,默认情况下会附加选项“自动确定要调试的代码类型”,我认为在该选项中它只确定托管代码,而不是脚本。我改变它以明确选择要调试的代码类型并选择“脚本”..并且哇它有效。

还有一件事让我无法一起选择托管代码和脚本。