如何在VS 2012中调试经典ASP应用程序

时间:2013-01-15 20:04:13

标签: visual-studio debugging asp-classic

  

可能重复:
  How do you debug classic ASP?

  • 我在VS2012中添加了一个新网站,并将其指向我在IIS中创建的虚拟目录。
  • 在IIS中,我启用了服务器端调试
  • IIS中此网站的端口为5555
  • 在VS中,对于项目属性,我将起始URL设置为localhost:5555,它运行我的网站
  • 项目属性中没有启用调试器(Classic ASP没有启用调试器)
  • 我在default.asp
  • 底部的文件中设置断点
  • 我在没有调试的情况下运行网站(Ctrl-F5)
  • 然后我附上过程(IE10)
  • 然后我刷新主页(default.asp)
  • 未点击断点
  • 如何让调试器停在断点处,以便我可以调试此页面?

这是预先存在的代码。我只是想让它运转起来。没有代码批评是必要的,除非它是解决问题的错误!

我在这个javascript方法中将断点设置在第一个代码块的顶部附近,但它从未被击中。

function declareLogos() {
    <%   ' get logos

    SQL = "SELECT l.LogoFileName, p.SortOrder FROM InrixCustomerLogo l join InrixCustomerLogoPage p on l.LogoCode = p.LogoCode WHERE p.PageFileName = '" & fn & "' AND SortOrder > 0 ORDER BY SortOrder"
    On Error Resume Next
    Set oLOGO = oConn.Execute(SQL)
    logoerror = Err.Number
    On Error Goto 0
    x = 1  ' array counter

    %>

    <% If NOT logoerror Then %>
    <% Do While NOT oLOGO.EOF %>
    i[<% =x %>] = '<% =oLOGO("LogoFileName") %>';
    <% oLOGO.MoveNext : x = x + 1 : Loop %>
    <% End If %>

    imax = <% =x-1 %>;
    ilast = <% =(((x-1)*4)/4) %>;  // <% =(((x-1)*4)/4) %>   this is imax - 1 that is divisible by four
}

1 个答案:

答案 0 :(得分:4)

这看起来像服务器端asp构建客户端javascript函数?如果那样将调试器连接到explorer.exe是没用的(除非你想调试生成的JavaScript函数 - 在这种情况下F12 IE开发工具会更容易),你需要将调试器附加到Inetinfo.exe(iis进程)运行服务器端asp)或Mtx.exe / w3wp.exe(取决于您的配置和iis版本)。

有关详细信息,请参阅以下msdn文章:

http://msdn.microsoft.com/en-us/library/ms241740.aspx

关于VS2008的类似文章(应该是与2012年类似的原则):

http://www.codeproject.com/Articles/28792/Debugging-Classic-ASP-VBScript-in-Visual-Studio-20