Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 有没有办法从Global.asax中的应用程序错误捕获的未处理异常中获取更多信息?_Asp.net_Global Asax_Unhandled Exception_Application Error - Fatal编程技术网

Asp.net 有没有办法从Global.asax中的应用程序错误捕获的未处理异常中获取更多信息?

Asp.net 有没有办法从Global.asax中的应用程序错误捕获的未处理异常中获取更多信息?,asp.net,global-asax,unhandled-exception,application-error,Asp.net,Global Asax,Unhandled Exception,Application Error,在生产过程中,我在Global.asax中处理应用程序_错误事件,以记录(并通过电子邮件向我发送)任何未捕获的异常的详细信息,这些异常是通过: void Application_Error(object sender, EventArgs e) // code simplified a bit for SO { Exception ex = Server.GetLastError(); MyTools.LogError("Global.asax::Application_Erro

在生产过程中,我在Global.asax中处理应用程序_错误事件,以记录(并通过电子邮件向我发送)任何未捕获的异常的详细信息,这些异常是通过:

void Application_Error(object sender, EventArgs e) // code simplified a bit for SO
{
    Exception ex = Server.GetLastError();
    MyTools.LogError("Global.asax::Application_Error", "An unhandled exception occurred", ex);
}
然而,错误消息本身通常是无用的;有一个堆栈跟踪,但是没有行号通常没有引用我自己的任何代码,只有.net framework(BCL)方法。有时至少会有一个关于页面名称的提示,但这是最好的

例如:

引发了类型为“System.Web.HttpUnhandledException”的异常

远程主机关闭了连接。错误代码为0x80072746

系统.Web

布尔句柄错误(System.Exception)

位于System.Web.UI.Page.HandleError(异常e) 在System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint) 在System.Web.UI.Page.ProcessRequest(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint) 在System.Web.UI.Page.ProcessRequest()中 位于System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext上下文) 在System.Web.UI.Page.ProcessRequest(HttpContext上下文)中 在ASP 在System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()中 在System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值&同步完成)

你知道我如何获取global.asax以提供更多有用的错误信息吗?


我知道如果有办法告诉代码放在哪里,我可以在代码中添加一个try catch,但是没有。

如果您的生产服务器没有pdb文件,它将不会给您行号。
将pdb文件与DLL一起复制以获取更多信息。

如果生产服务器没有pdb文件,则不会提供行号。
将您的pdb文件与DLL一起复制以获取更多信息。

Oh!没想到这个。即使我没有在调试模式下运行,它也能工作吗?是的,只要你有生成的pdb文件(这是默认的)哦!没想到这个。即使我没有在调试模式下运行,它也能工作吗?是的,只要您的构建生成了pdb文件(这是默认设置)