【问题标题】:Diagnosing HTTP 500 errors in Classic ASP诊断经典 ASP 中的 HTTP 500 错误
【发布时间】:2009-01-20 14:58:05
【问题描述】:

我最近继承了一个用 Classic ASP 编写的网站,目前正在尝试了解事物的状态。该网站正在生产中运行,但是当您尝试导航到开发环境(托管在 Windows Server 2003 机器上)时,会产生 HTTP 500 错误。

我意识到 HTTP 500 错误只是意味着发生了意外的服务器错误,而且这也很可能是 ASP 代码由于某种原因而崩溃。我尝试了许多浏览器(IE、Firefox 和 Chrome),但它们的信息量都相同。

作为主要的 ASP.NET 开发人员,我习惯使用 yellow screen of death,它可以配置为显示堆栈跟踪。

所以我的问题是,我如何说服 IIS 和/或 Classic ASP 给我一个更好的提示,让我了解是什么导致了错误?

更新: 我本来应该更详细的,但这里有一些我看过的东西。

  • 我查看了事件日志 (应用程序、安全性、系统等) 那里没有任何相关的内容。

  • 我查看了 IIS 访问日志 我看到了访问尝试,并且 只有 500 个错误。甚至是 在 favicon.ico 上产生 500 个错误

【问题讨论】:

    标签: iis asp-classic


    【解决方案1】:

    如果您按照 Wayne 的建议关闭“显示友好的 HTTP 错误消息”后无法找到违规行,请尝试将“On Error Resume Next”与 response.write 语句一起添加到代码中。我发现了这样的问题,你只需要开始逐行遍历代码,直到找到令人反感的代码。

    出于好奇,在开发服务器上的 IIS 中的 Web 服务器扩展中是否将 Active Server Pages 设置为允许?

    【讨论】:

    • 是的,这几乎是下一步。哦,我多么怀念经典 ASP 的日子,哈哈!
    • @alex:不知怎的,我怀念那些日子……只是在 2009 年第一次倾向于经典 ASP……哈哈。
    • 过去可以即时编辑实时代码的美好时光...快速完成工作,但很容易让您大吃一惊。 :)
    • @Notorious2tall:根据您的建议,我已将“On Error resume next”语句添加到 default.asp 的顶部。但这似乎并没有改变任何行为,我仍然看到通用的 500 错误消息页面。
    • 您是否检查了 Web 服务器扩展并允许 ASP?另一种选择是开始注释代码,然后逐行添加。不是一个有趣的选择,但它会完成工作。
    【解决方案2】:

    您是否检查了 Web 服务器事件查看器的应用程序部分是否有错误条目?

    【讨论】:

    • 感谢您的建议...我应该更详细地介绍。我已经发布了我的问题的更新。
    【解决方案3】:

    正如 alex 所说,还要确保在 Internet Explorer 中关闭“显示友好的 HTTP 错误消息”,然后浏览到该站点;这往往会为您提供更具体的错误消息(尽管与 ASP.NET 的堆栈跟踪相比仍然是通用的)以及行号。

    【讨论】:

    • 我很欣赏这个建议,但是“显示友好的 HTTP 错误消息”并没有帮助,因为我已经通过 Firefox 和 Chrome 验证了信息的缺乏,它们不会“删除”错误消息。
    • 嗯,这很奇怪——哦,好吧,对不起,我帮不上忙 :)
    【解决方案4】:

    如果您的 web 目录中有 global.asa 文件,您可以重命名该文件并尝试再次加载 favicon.ico 文件。如果加载,则问题出在 global.asa

    【讨论】:

      【解决方案5】:

      显然是一个老问题,但值得一提的是,如果您可以访问开发服务器(直接或远程桌面),则可以从那里访问该站点。本地主机请求揭示了有关经典 ASP 的更多调试信息,包括行号。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多