我必须调试IIS 7服务的经典asp站点(Windows 2008)。
我该怎么做?我只使用过ASP.NET。
答案 0 :(得分:42)
来自MSDN博文:http://blogs.msdn.com/mikhailarkhipov/archive/2005/06/24/432308.aspx
以下是如何使ASP调试工作:
- 在服务器上启用ASP调试。 (我还在asp扩展中添加了DEBUG动词,但我不确定是否需要它)。
- 在VS 2005中打开经典ASP。
- 设置断点。
- 在浏览器中查看页面或无需调试即可运行。
- 调试|附加到流程
- 找到IIS ASP工作进程(IIS6上的w3wp.exe),该进程公开x86和脚本并作为脚本附加。
醇>
来自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)