你如何调试经典ASP?

时间:2009-07-16 14:50:33

标签: debugging iis iis-7 asp-classic

我必须调试IIS 7服务的经典asp站点(Windows 2008)。

我该怎么做?我只使用过ASP.NET。

7 个答案:

答案 0 :(得分:42)

来自MSDN博文:http://blogs.msdn.com/mikhailarkhipov/archive/2005/06/24/432308.aspx

  

以下是如何使ASP调试工作:

     
      
  1. 在服务器上启用ASP调试。 (我还在asp扩展中添加了DEBUG动词,但我不确定是否需要它)。
  2.   
  3. 在VS 2005中打开经典ASP。
  4.   
  5. 设置断点。
  6.   
  7. 在浏览器中查看页面或无需调试即可运行。
  8.   
  9. 调试|附加到流程
  10.   
  11. 找到IIS ASP工作进程(IIS6上的w3wp.exe),该进程公开x86和脚本并作为脚本附加。
  12.   

来自eddiegroves的评论如下:

  

关于IIS7中的步骤#1 - IIS> ASP>编译>调试属性>启用服务器端调试

答案 1 :(得分:7)

我意识到这已经过时了,但我以为我会回复帮助别人,因为我正在寻找别的东西。

您可以使用Visual Studio调试Classic ASP。

如果您正在运行IIS的本地副本,只需将调试器附加到w3wp.exe进程,您可以设置断点,向监视窗口添加变量等。

如果您有多个网站,在单独的应用程序池中运行每个网站会很有帮助,并且您将能够在“附加进程”窗口中识别不同的w3wp.exe进程。

只需选择"脚本"作为调试器类型。如果您正在运行IISExpress,那么iisexpress.exe进程是要附加的正确进程。

答案 2 :(得分:4)

我发现在 ASP >下的服务器级别找到了一个有用的启用设置。 编译> 调试属性> 向浏览器发送错误。将其设置为“True”。

这可能不适合所有情况(例如,可访问互联网的网站)。

答案 3 :(得分:2)

内置经典的ASP调试非常差。我把这个ASP包含的类放在一起,它与Firebug + FirePHP一起使用。它允许您将值(包括字符串,多维数组甚至是使用json.asp创建的对象)记录到firebug控制台并查看ASP的内置集合对象,这些对象可以提供帮助(特别是对于无法输出调试数据的Ajax打破json响应。)自动记录Ajax脚本加载时间和错误,以便快速查看。

https://github.com/dmeagor/ClassicASP-FirePHP

根据MIT开源许可证发布

答案 4 :(得分:2)

我使用以下(我从某处在线获取)来写入日志文件。我更喜欢在Firefox或Chrome中直接写入Console的方法,但这对我来说效果很好。

注意:“timestamp”是我的自定义功能。你可以猜到它的作用,也可能是你自己的。 ; - )

function error_log( message )
    dim objFSO, objLog
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objLog = objFSO.OpenTextFile( "ASP_errors.log", 8, true)
    objLog.WriteLine "[" & timestamp & "] VBS Message: " & message
    objLog.close
    set objLog = nothing
    set objFSO = nothing
end function

答案 5 :(得分:1)

这是我弄明白的方式:

在要点击调试点的位置停止(写入停止)。然后在浏览器上运行该应用程序当执行停止时,它将打开调试弹出窗口,要求使用Visual Studio进行调试(必须安装VS版本)。然后它将要求附加该过程,您可以使用f10,f11进行步骤。您可以使用add watch查看数据。

答案 6 :(得分:0)

  1. 在IIS服务器上托管您的网站。
  2. 在IIS服务器上启用远程调试器。(follow this tutorial
  3. 将源代码导入visual studio。
  4. here
  5. 安装远程调试工具
  6. 在远程调试工具中选择工具 - >选项 - >没有对所有用户进行身份验证。
  7. 转到visual studio并附加处理w3wp.exe。
  8. 如果无法看到进程(w3wp.exe)。在浏览器中打开网站链接,然后为所有用户选择显示 现在你将能够看到这个过程并附上。
  9. 别忘了在应用程序中添加调试器: - )