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

3Da*_*ave 4 debugging breakpoints asp-classic

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

Che*_*vel 13

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

Response.Write "a line"
Stop
Response.Write "a line after the breakpoint
Run Code Online (Sandbox Code Playgroud)

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

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


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

  1. 使用"文件 - >打开网站..."命令打开该站点(在"本地IIS"部分下).
  2. 从解决方案资源管理器中,打开要调试的文件并设置断点.
  3. 通过选择"Debug - > Attach to Process ..."菜单项启动调试器.选择"w3wp.exe"进程.
  4. 现在,当您尝试在浏览器中加载页面时,Visual Studio将在任何断点处停止.

另请注意,如果对页面进行更改,则更改将保存到磁盘.在工作中,我以这种方式使用VS2005作为经典ASP的主编辑,正是因为我可以轻松设置断点.


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

  • 难以置信,经过15年多的努力,我从未听说过"停止".感谢您的详细回复; 我今天晚些时候会试一试.已经有必要以管理员身份运行VS来调试IIS,所以这不是什么大问题. (2认同)