我在生产网站上遇到这些随机崩溃。在事件查看器中,它们看起来像这样:
Faulting application name: w3wp.exe, version: 8.0.9200.16384, time stamp: 0x5010885f
Faulting module name: KERNELBASE.dll, version: 6.2.9200.16857, time stamp: 0x530e76e4
Exception code: 0xe0434352
Fault offset: 0x00010f22
Faulting process id: 0xde8
Faulting application start time: 0x01cf6df2fa8b9b5c
Faulting application path: C:\Windows\SysWOW64\inetsrv\w3wp.exe
Faulting module path: C:\Windows\SYSTEM32\KERNELBASE.dll
Report Id: 34425c37-d9f8-11e3-93f3-782bcb949b34
Faulting package full name:
Faulting package-relative application ID:
我该如何调试并查明原因?
修改
添加了“AppDomain.CurrentDomain.UnhandledException”和“Application_Error”的日志记录,但没有任何内容。 ELMAH无法记录任何内容......有任何建议吗?
答案 0 :(得分:1)
我相信这是发生未处理异常时的错误。如果事件日志中没有其他信息,我将首先在Application_Error
中添加错误处理,如here所述。
答案 1 :(得分:1)
我建议你检查debug diagnostic tool.你绝对可以通过该工具找到崩溃。此外,它是免费的。您只需使用该工具收集转储文件,最后它将显示有问题的代码。
答案 2 :(得分:0)
对于MVC,记录异常的最简单的第一步是使用Elmah
。它可以作为nuget包安装,并且非常容易设置。我强烈建议您在创建的每个MVC应用程序中使用它。
Nuget包:http://www.nuget.org/packages/Elmah.MVC/2.1.1
Install-Package Elmah.MVC
此处提供了一些较旧但有用的信息: