1

我已经阅读了几乎所有关于这个问题的博客文章、文章和帮助文档,但他们没有提供帮助。最常见的建议是:

  1. Internet Explorer -> 工具菜单 -> Internet 选项 -> 高级 -> 显示友好错误消息(确保未勾选)

  2. IIS -> 主目录选项卡 -> 配置... -> 调试选项卡 -> 向客户端发送详细的 ASP 错误消息(确保选中此选项)

这些都不起作用,我感觉它与 IIS 的 Plesks 管理有关。有什么方法可以查看这些内部服务器错误是什么?即使这意味着在服务器上浏览日志文件?

4

5 回答 5

3

The class_terminate event can be used to create a global error handler without touching the iis config. When ASP encounters an error it server.execute's the configured 500 handler and then return to the orginal script to clean up all remaining objects.

This offers you an opportunity to create a global debugger object and use the class_terminate event to handle the errors (eg print out debug info).

Eg:

class cDebugger
    private sub class_terminate
        if err then
            response.clear
            dim asp_error
            set asp_error = server.getLastError()
            response.write asp_error.description
            ...
            ...
        end if
    end sub
end class
set [_debugger] = new cDebugger
于 2009-12-04T11:28:02.780 回答
2

The following applies to Plesk only.

Proceed to your domain in Plesk control panel and turn off "Custom Error Documents" under "Physical hosting setup". This will send error message directly to the browser.

You can also find error messages in log file directory yourdomain.com\statistics\logs\W3SVCXXXX

于 2009-12-14T03:13:35.177 回答
1

Agent_9191 提出的一个想法:

在页面顶部放置:

On Error Resume Next

并在页面底部放置:

If Err.Number <> 0 Then Response.Write(Err.Description)

在不更改页面代码的情况下直接从 IIS 调试的任何其他想法?

于 2009-12-04T08:06:51.593 回答
0

ASP Classic 开发人员(虽然使用 IIS 7.0)的另一个传奇页面在这里:

http://blogs.iis.net/bills/archive/2007/05/21/tips-for-classic-asp-developers-on-iis7.aspx

于 2009-12-04T08:30:28.357 回答
0

“如果”您有能力尝试自定义 500 错误页面,那么您可以使用调用 Server.GetLastError 来捕获错误,这将为您提供所有详细信息(其中大部分),这应该允许您开始实时调试它.

http://www.w3schools.com/ASP/asp_ref_error.asp

你不能在本地重现问题吗?

于 2009-12-04T10:47:23.377 回答