我有一个新的程序,已经运行了24个星期超过2个星期了,但昨天晚上它崩溃/没有致命的日志exception,在我的log4net文件…这个过程似乎已经被杀了….当我查看Windows事件查看器应用程序日志时,它包含程序进程错误,说'.NET运行时2.0错误'types:错误EventID:1000。
这似乎是.Net运行时失败/错误,并没有任何关系与我的代码。
有谁知道是什么原因造成的? 是否有.Net运行时修复?
/我在Window Server 2003虚拟机片上运行.Net 3.5。
提前致谢。
编辑:
以下完整的事件描述。 有几个小时没有任何事件,有信息级别不是这样的错误。
来源:.NET运行时2.0错误types:错误事件ID:1000
事件日志描述:错误应用程序CompanyName.AppName.exe,版本0.0.0.0,邮票4ca5d33d,错误模块mscorwks.dll,版本2.0.50727.3607,邮票4add5446,debugging? 0,故障地址0x0010724e。
有关更多信息,请参阅http://go.microsoft.com/fwlink/events.asp上的帮助和支持中心。
由于在崩溃时没有得到任何有用的信息,另一种方法是将调试器附加到崩溃的EXE
。 有两种方法我建议:
使用Visual Studio
如果将Visual Studio安装在与崩溃应用程序相同的PC /服务器上,请在运行时将Visual Studio附加到EXE
。 这里介绍如何做到这一点:
http://msdn.microsoft.com/en-us/library/c6wf8e4z.aspx
使用WinDbg
这是一个非常低级的,功能强大的Windows调试器。 这当然可以帮助你解决你的问题。 但是,如何开始使用它,学习曲线陡峭。 .NET框架带有一个名为SOS.DLL
的DLL
(可在C:\Windows\......
系统文件夹中找到),其中包含许多您可以在WinDbg中用于分析.NET应用程序的命令。 这些包括列出线程堆栈和显示异常信息。
有关如何调试WinDbg的.NET问题的一个非常好的信息来源是
有很多很好的如何调试问题的例子,比如
http://blogs.msdn.com/b/tess/archive/2008/02/11/net-debugging-demos-lab-2-crash-review.aspx
您可以从以下网址下载WinDbg:
由于其简单性,我强烈建议使用Visual Studio方法。 然而,迄今为止,调试应用程序的最强大的方法是使用WinDbg,但对于初次使用的用户来说,这可能是有害的。
编辑:这是另一个可能有用的链接:
http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/ebd10d1f-902b-4a95-ba42-e87c4f817097
该错误看起来像一个.NET运行时2.0错误由于空引用是在用户策略缓存中。 确保你已经安装了所有最新的.NET服务包。 另外看看这个微软的答案 。