Asp classic 使用响应进行调试。在经典ASP中编写

Asp classic 使用响应进行调试。在经典ASP中编写,asp-classic,Asp Classic,我试图使用Response.Write调试一些代码,但当我运行代码时,它跳过了该语句,并在代码中的某个地方出错 如何获得我的响应。编写语句以显示,而不出现其他错误?在调试后尝试一次,或设置为false。您必须在ASP页面顶部使用“错误恢复下一步”语句。这将解决您的问题,当发生错误时,它将移动到下一行,而不是抛出错误 您可以查看此链接以供参考 快乐编码注释掉给出错误的行,并查看响应。write显示的是唯一合理的 在开发页面时,不要使用“下一步继续出错时的”。您必须确保正确构建页面,并生成正确的代码

我试图使用
Response.Write
调试一些代码,但当我运行代码时,它跳过了该语句,并在代码中的某个地方出错

如何获得我的
响应。编写
语句以显示,而不出现其他错误?

在调试后尝试一次,或设置为false。

您必须在ASP页面顶部使用“错误恢复下一步”语句。这将解决您的问题,当发生错误时,它将移动到下一行,而不是抛出错误

您可以查看此链接以供参考


快乐编码

注释掉给出错误的行,并查看响应。write显示的是唯一合理的

在开发页面时,不要使用“下一步继续出错时的
。您必须确保正确构建页面,并生成正确的代码。如果在错误恢复下一步中使用
,则不会看到任何错误

错误恢复下一步
在我看来,只能用于数据库操作和已交付(非开发)代码中。在这种情况下,您应该使用

if Err.Number <> 0 then 
如果错误号为0,则

构造以测试任何错误。如果在asp中的每一行之后都在代码顶部添加了
on error resume next
语句,但它在数据库处理代码方面确实很有意义。

当我必须在页面的某个位置查看状态时,我经常使用
Response.End

我们使用Visual Studio 2008调试经典asp页面。您可以附加到IIS进程并“逐步完成”页面。它很甜。以下是步骤:

  • 从源代码管理获取最新的经典ASP

  • 安装IIS(如果尚未安装)。仅供参考。。。我正在使用IIS 5.1

  • 创建一个名为“classicDebug”的虚拟目录,指向本地目录(C:\Websites\ClassicWebSite)

  • 查看虚拟目录属性,虚拟目录选项卡

  • 启用“脚本源代码访问”复选框

  • 配置按钮,选项选项卡-检查所有内容

  • 调试选项卡-检查所有内容

    7a。在ASP.NET选项卡中,选择2.x

  • 在VS.NET 2008中加载(不运行、调试或F5)网站

  • 相应地编辑global.asa(数据源和路径)

  • 找到要“逐步浏览”的.asp页面,并在顶部(或某处)设置断点

  • 打开IE,并导航到您的页面

  • 返回VS.NET并选择调试->附加到进程

  • 选中“显示所有用户的流程”并选择流程。对于我(IIS 5.1),进程名为dllhost.exe,使用IWAM_COMPUTERNAME帐户运行,并键入“Script,T-SQL,Managed,x86”

  • 访问您的网页使用IE。。。VS.NET应该会崩溃


  • 这可能有助于替代response.write

    我把这个ASP包含类放在一起使用Firebug+FireHP。它允许您将值(包括字符串、多维数组,甚至是使用json.asp创建的对象)记录到firebug控制台,并查看asp的内置集合对象,这会有所帮助(特别是在Ajax中,如果不中断json响应,您就无法输出调试数据)Ajax脚本加载时间和错误会自动记录,以便快速查看

    只需包含该文件并使用log(somevalue)将格式化的变量发送到firebug控制台


    根据麻省理工学院开放源码许可证发布

    说到替代选项,从David Meagor post,您还可以将跟踪写入文件。以下是如何写入文件的示例:

    如果需要,您甚至可以将跟踪子例程放在包含文件中,并在需要时在所有页面中使用它

    我们正在使用的另一个解决方案是将跟踪方法放在.Net程序集中,将其注册为COM,然后使用CreateObject调用它

    这些选项将允许您将跟踪保存在一个文件中,您可以稍后查看并与其他开发人员共享

    我个人使用这些方法的混合:我查看日志文件,使用断点,甚至不时放置一个Response.Write


    还有一件事:激活并查看IIS日志:它们通常会告诉您页面在哪一行断开。您可以在这里阅读如何为classic ASP启用或禁用日志:。

    不要忘记在结尾处使用“on error goto 0”关闭该错误块。我认为“on error goto 0”在classic ASP中不起作用(至少我曾经遇到过这种情况)。@Edelcom:“on error goto next”和“on error goto 0”是仅有的两个“on error”在VBScript中工作的操作感谢在vs 2008中逐步完成。我目前使用的是visual web developer,它不允许附加进程