vb.net – 由于RAM故障会发生System.AccessViolationException吗
我有一个网站,我已经工作了大约一年了.
最近,它开始时不时地抛出System.AccessViolationException,在我的开发机器中,主要是当我离开机器时…… 我几周没有更改服务器代码上的任何内容,因为我一直在Javascript部分工作100%,这个错误最近开始出现. 此外,我正在做的代码是100%管理.我没有做任何互操作,调用奇怪的DLL,什么都没有.它是纯粹的VB.Net,所以我看不出自己如何生成其中一个…… 现在,我已经使用这台新机器几个月了,而且它不能100%正常工作.每隔2或3天我会得到一个蓝屏.我没有时间正确诊断它,但我怀疑我可能有一个错误的RAM芯片. 有故障的RAM是否可能导致AccessViolationException? 更新: 我真的无法找到错误发生的地方. 所以我不知道它是否每次都在同一个地方发生. 至于memtest,是的,我会做那样的事情,我只是希望有一些时间尽快完成,但我想知道,与此同时,这是否可以解释这个问题. 更新2: 在事件日志中找到了… 发生了未处理的异常,并终止了该过程. Application ID: DefaultDomain Process ID: 6632 Exception: System.AccessViolationException Message: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. StackTrace: at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr pHandler,RequestNotificationStatus& notificationStatus) at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr managedHttpContext,IntPtr nativeRequestContext,IntPtr moduleData,Int32 flags) at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr managedHttpContext,Int32 flags) 有什么想法可以做到这一点? 解决方法
有故障的RAM是否可能导致AccessViolationException?
是的,这是可能的.如果进程的底层内存不能以可预测的方式运行,则可能会导致许多不同类型的应用程序错误,包括AccessViolationException. 是否有错误的RAM导致AccessViolationException? 我会说你调用的程序或库中的错误更有可能是错误的.第一步是找出发生AccessViolationException的原因或更重要的原因.尝试附加调试器,中断AccessViolationExceptions并查看实际发生的情况. Ben S的建议也很好,可以快速排除RAM情况. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |