我无法看到服务器错误的详细输出?

时间:2011-09-09 18:39:00

标签: c# .net asp.net error-handling httpwebrequest

在asp.net中,当出现错误时,我无法看到服务器的详细消息。我的意思是,当你打开浏览器并导航到说http:// [errorpage] .com并且页面显示“内部服务器错误 - 服务器正忙”这样的东西时 - 你肯定知道服务器正忙...但是与我的应用程序我只得到错误503 - 但我不能去Mozilla浏览器去,并看不到整个错误消息。我试图抓住并显示异常 - 但是......不。我也尝试用常规exp解析源代码。 - 但我猜网络会在出现错误时停止,并且无法进行解析 - 同样......没有尝试:同样的事情。

4 个答案:

答案 0 :(得分:1)

通常,请勿在实时网站上启用此功能。在您的web.config中,添加/编辑以下内容:

<customErrors mode="Off" />

这将开始显示有关错误的详细信息。但同样,请勿在现场服务器上执行此操作,或至少不要永久执行此操作,因为这会对安全造成危害。

答案 1 :(得分:0)

最好的方法是在代码中实现错误处理,然后在某处保存错误(数据库,文件......)然后你可以查看你的文件并获得完整的错误

e.g。

try {
   //your code here
}
catch(Exception ex)
{
   //write to file ex.ToString() to see whole stack trace, or ex.Message to see just message like "index out of bounds"
}

如果您想在浏览器中获取错误,请在配置文件中将其打开

请查看此链接了解详情http://msdn.microsoft.com/en-us/library/h0hfz6fc.aspx

答案 2 :(得分:0)

你的问题有点狂躁,但如果发生这种情况,你必须考虑堆栈上的错误处理:

try{
   //Something
}
catch(Exception){
   //Handle it some how
   throw new Exception("Broken");
}

然后在抛出新异常之前,这将释放所有调用堆栈。如果发生这种情况,可以这样解决:

try{
   //Something
}
catch(Exception){
   //Handle it some how
   throw;
}

这继续抛出堆栈跟踪的原始异常。

答案 3 :(得分:0)

如果您打开ASP.NET Health Monitoring,则ASP.NET会将错误的详细信息记录到Windows事件日志或您指定的任何其他目标。