你如何进行调试传统的ASP?(How do you debug classic ASP?)

2019-06-14 17:34发布

我有调试传统的ASP网站由IIS 7(Windows 2008中)被服务。

我怎样才能做到这一点? 我只用ASP.NET工作。

Answer 1:

从MSDN博客文章: http://blogs.msdn.com/mikhailarkhipov/archive/2005/06/24/432308.aspx

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

  1. 在服务器上启用ASP调试。 (我还添加了DEBUG动词的ASP扩展,但如果需要,我不知道)。
  2. 在VS 2005中打开传统的ASP。
  3. 设置断点。
  4. 查看网页浏览器或运行无需调试。
  5. 调试| 附加到进程
  6. 找到IIS ASP工作进程(在IIS6的w3wp.exe)暴露x86和脚本和附加为脚本。

从eddiegroves评论如下:

对于第1步在IIS7 - IIS> ASP>编辑>调试属性>启用服务器端调试



Answer 2:

我意识到这是老了,但想到我会回答去帮助别人,因为我一直在寻找别的东西了。

您可以使用Visual Studio调试传统的ASP。

如果你正在运行IIS的本地副本,只需调试器附加到w3wp.exe进程,并可以设置断点,添加变量观察窗等

如果你有超过1个网站,它有助于各运行在一个单独的应用程序池,你就可以在安装过程窗口,以确定不同的w3wp.exe进程。

只要选择“脚本”作为调试器类型。 如果你正在运行IISExpress,那么iisexpress.exe过程是正确的附加到。



Answer 3:

我发现一个有用的设置,以使在ASP下> 编辑服务器级别> 调试属性被发现> 将错误发送到浏览器 。 设置为“True”。

这可能不是在所有情况下(例如,用于互联网访问的网站)为宜。



Answer 4:

建于传统的ASP调试是相当差。 我整理了这篇ASP包括类与萤火虫+ FirePHP工作。 它可以让你值(包括字符串,多维数组与json.asp即使在创建对象)登录到Firebug控制台,并查看ASP内置的集合对象,它可以帮助(特别是与阿贾克斯,你不能没有输出调试数据打破了JSON响应。)的Ajax脚本加载时间和错误都会被自动记录,以便快速查看。

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

在MIT开源许可下发布



Answer 5:

我用下面的(这是我从网上得到的地方)写入日志文件。 我希望能有一个方法直接写入到控制台在Firefox或Chrome,但这个工作得很好,我。

注:“时间戳”是我的一个自定义的功能。 你可能已经猜到它做什么,而且很可能推出自己。 ;-)

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


Answer 6:

这是我想出来的办法:

制止(写入停止)你想上哪儿打调试点的地方。 然后运行浏览器的应用程序。 当执行来阻止它会打开调试弹出询问与Visual Studio调试做(一VS版本必须安装)。 然后,它会要求附加的过程中,你可以使用F10,F11去跨越和。您可以使用添加监视看到的数据。



Answer 7:

  1. 主机IIS服务器上的网站。
  2. 启用IIS服务器上的远程调试器。( 本教程 )
  3. 导入源代码到Visual Studio。
  4. 安装远程调试工具在这里
  5. 在远程调试工具,选择工具 - >选项 - >所有用户的验证。
  6. 转到Visual Studio和连接处理的w3wp.exe。
  7. 如果无法看到该进程(W3wp.exe)。 打开所有用户在浏览器中,选择显示的网站链接现在ü将能够查看进程和附加。
  8. 不要忘记把一个调试器的应用程序:-)


文章来源: How do you debug classic ASP?