我有一个新的程序,它已经24/7运行了超过2周,但昨晚崩溃/崩溃,我的log4net文件中没有致命日志异常...这个过程似乎被某些人杀死了。 ...当我查看Windows事件查看器应用程序日志时,它包含一个错误,程序进程说'.NET Runtime 2.0 Error'类型:错误EventID:1000。
这似乎是.Net运行时故障/错误,与我的代码无关。
有谁知道是什么造成的?是否有.Net运行时修复程序?
/我在Window Server 2003 vm切片上运行.Net 3.5。
提前致谢。
修改
以下完整的活动说明。几个小时左右没有任何事件,而且信息级别没有像这样的错误。
来源:.NET Runtime 2.0错误 类型:错误 事件ID:1000
事件日志说明 错误应用程序CompanyName.AppName.exe,版本0.0.0.0,邮票4ca5d33d,错误模块mscorwks.dll,版本2.0.50727.3607,邮票4add5446,调试? 0,故障地址0x0010724e。
有关详细信息,请参阅http://go.microsoft.com/fwlink/events.asp上的“帮助和支持中心”。
答案 0 :(得分:2)
由于您在崩溃时没有获得任何有用的信息,另一种方法是将调试器附加到崩溃EXE
。我建议有两种方式:
使用Visual Studio
如果您在与崩溃的应用程序相同的PC /服务器上安装了Visual Studio,请在运行时将Visual Studio附加到EXE
。以下是如何执行此操作的介绍:
http://msdn.microsoft.com/en-us/library/c6wf8e4z.aspx
使用WinDbg
这是一个非常低级,功能强大的Windows调试器。这当然可以帮助您解决问题。但是,如何开始使用它有一个陡峭的学习曲线。 .NET框架附带一个名为DLL
的{{1}}(位于SOS.DLL
系统文件夹中),其中包含许多可在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
答案 1 :(得分:0)
由于空引用导致的错误看起来像.NET Runtime 2.0错误在用户策略缓存中。确保安装了所有最新的.NET Service Pack。另请查看this Microsoft answer。