9

可能重复:
您如何调试经典 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
}
4

1 回答 1

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

于 2013-01-16T01:13:21.417 回答