【问题标题】:Show full details of 500 Internal Server Error显示 500 内部服务器错误的完整详细信息
【发布时间】:2011-01-24 10:12:51
【问题描述】:

如何查看返回 500 内部错误的页面中的完整错误?

我看到的只是错误编号和描述 - 内部服务器错误 - 没有关于错误详细信息的确切细节?

【问题讨论】:

    标签: asp.net internal-server-error


    【解决方案1】:

    有几种方法可以实现这一点,但我建议设置ELMAH

    它将使用堆栈跟踪记录异常并提供一个 Web 界面来查看它。

    还有其他记录器 (log4net),您可以编写自己的日志记录(Exception.ToString() 将提供追踪错误所需的大部分信息),但我发现 ELMAH 很容易上手。

    【讨论】:

    • 关于 Apache/PHP 环境的任何想法
    【解决方案2】:

    检查错误日志。不过,它们的位置取决于您的服务器设置。

    【讨论】:

      【解决方案3】:

      如果错误发生在您的 ASP.NET 应用程序上,您可以捕获错误并将其通过电子邮件发送给自己。

      您可以在 Global.asax 文件中发现错误...

          Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
          ' Code that runs when an unhandled error occurs
      
          Dim sb As New StringBuilder
          sb.AppendFormat("Page Location: {0}", Context.Request.RawUrl)
          With Server.GetLastError.GetBaseException
              sb.AppendFormat("Message: {0}", .Message)
              sb.AppendFormat("Source: {0}", .Source)
              sb.AppendFormat("Method: {0}", .TargetSite)
              sb.AppendFormat("Stack Trace: {0}", .StackTrace)
          End With
          Dim ErrorMsg As String = sb.ToString()
          ' Post thee error to a logger...
      
      End Sub
      

      G.

      【讨论】:

      • 我建议你看看Exception.ToString()的结果。 In 包含您要放入字符串构建器的所有上述内容。
      猜你喜欢
      • 1970-01-01
      • 2010-12-17
      • 2021-03-31
      • 2015-10-22
      • 1970-01-01
      • 1970-01-01
      • 2019-06-28
      • 2013-12-04
      • 1970-01-01
      相关资源
      最近更新 更多