我在执行一个简单的 linq 查询时遇到一个奇怪的异常,该查询是用 VB.NET 表达的(抱歉..)。例外的是,正如标题所说:“System.AccessViolationException”,完整的异常消息链是
“System.Web.HttpUnhandledException:异常类型
抛出“System.Web.HttpUnhandledException”。 --->
System.AccessViolationException:尝试读取或写入受保护
记忆。这通常表明其他内存已损坏。 ”
奇怪的行为是:
- 异常是随机抛出的
- 该异常仅在生产服务器上引发,而不是在同一测试服务器上引发
- 使用 LinqPad 对生产数据库执行的查询运行良好
This is the full exception stack trace:
![Exception full stack trace](https://i.stack.imgur.com/ceyfl.png)
在堆栈跟踪中,擦除的方法调用使用 Single() linq 方法进行查询。
我们认为该问题与通过 Windows 更新安装在生产服务器上的 KB 有关,但很明显,我们并不确切知道它
知道真正的问题是什么吗?
提前致谢
所有症状都表明服务器上的内存条损坏,或其他硬件问题(过热/超频)。它也可能是由病毒引起的。当内存中的指针损坏并最终引用受保护的内存区域时,就会发生访问冲突。我建议您将映像完全传输到另一台物理机,并在服务器上运行完整的 MEMTEST86,并对外壳进行彻底清洁,更换旧风扇等...如果通过这种方式无法隔离问题,则重新安装生产环境服务器在新驱动器上从头开始。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)