每当ASP.NET 4.x Web应用程序在生产中抛出未处理的异常时,我想要一个可以调试的minidump。
到目前为止,流行的技术围绕着在Global.asax中捕获Application_Error
并将异常数据转储到文本日志文件中。这对于一些bug来说已经足够了,但是没有替代minidump。这是一件事:当你遇到这个异常时,生成一个minidump 已经太晚了,因为宝贵的执行环境已经消失了。
因此,从小型机生成的角度来看,捕捉该异常是错误的。但ASP.NET框架 在某种程度上捕获它们,不是吗?我的意思是,系统JIT调试窗口没有出现,所以这些异常并没有真正起泡。
这不是一次性的事情;没有我想要调试的特定错误;我想监视数字帝国的整个ASP.NET省份的运行时健康状况,~20台服务器上的~100个自行开发的应用程序。因此,将Visual Studio连接到Prod中的池进程并观察异常即将到来并不是我想要的。此外,我来自开发方面的东西,并且没有prod服务器的管理员。
那里有任何选择吗?付钱不是问题。
编辑:我对AppDomain.UnhandledException
有一些希望,但是那个没有暂停失败的线程。当事件触发时,具有异常的线程消失了,没有什么可用于minidump。