当前位置 : 主页 > 编程语言 > c语言 >

vb.net – 由于RAM故障会发生System.AccessViolationException吗?

来源:互联网 收集:自由互联 发布时间:2021-06-24
我有一个网站,我已经工作了大约一年了. 最近,它开始时不时地抛出System.AccessViolationException,在我的开发机器中,主要是当我离开机器时…… 我几周没有更改服务器代码上的任何内容,因为
我有一个网站,我已经工作了大约一年了.
最近,它开始时不时地抛出System.AccessViolationException,在我的开发机器中,主要是当我离开机器时……

我几周没有更改服务器代码上的任何内容,因为我一直在Javascript部分工作100%,这个错误最近开始出现.

此外,我正在做的代码是100%管理.我没有做任何互操作,调用奇怪的DLL,什么都没有.它是纯粹的VB.Net,所以我看不出自己如何生成其中一个……

现在,我已经使用这台新机器几个月了,而且它不能100%正常工作.每隔2或3天我会得到一个蓝屏.我没有时间正确诊断它,但我怀疑我可能有一个错误的RAM芯片.

有故障的RAM是否可能导致AccessViolationException?
或者我是否有一个我应该研究的实际问题? (除了我的RAM)

更新:

我真的无法找到错误发生的地方.
我得到“未处理的异常,你想调试吗?”对话框,当我附加调试器时,我有Threads列表,我有所有ASP.Net线程,3我自己创建.
对于这3个我有一个调用堆栈,它们都在Sleep()调用停止(这是可以预期的).
对于所有其他线程,包括VS指向的那个线程,我没有调用堆栈.我也没有任何有关例外的细节.

所以我不知道它是否每次都在同一个地方发生.

至于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, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)

有什么想法可以做到这一点?
谢谢
丹尼尔

有故障的RAM是否可能导致AccessViolationException?

是的,这是可能的.如果进程的底层内存不能以可预测的方式运行,则可能会导致许多不同类型的应用程序错误,包括AccessViolationException.

是否有错误的RAM导致AccessViolationException?

我会说你调用的程序或库中的错误更有可能是错误的.第一步是找出发生AccessViolationException的原因或更重要的原因.尝试附加调试器,中断AccessViolationExceptions并查看实际发生的情况.

Ben S的建议也很好,可以快速排除RAM情况.

网友评论