System.AccessViolationException,尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

从事件查看器中发现,IIS不定期崩溃并重启的现象。抓取crash dump文件后,发现能够看到异常,但没有堆栈信息(主要是只会看托管代码的堆栈,非托管的不清楚。),问题表现及dump日志的截图如下:

image

image

从dump文件的异常信息分析看,System.AccessViolationException,尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

image

根据微软的分析,当前应用或第三方系统与Windows系统的数据执行保护策略有冲突造成异常。

可以尝试禁用Windows的数据执行保护功能,操作步骤如下:

1、 以管理员身份启动cmd命令行窗口

2、 执行命令:bcdedit.exe /set nx AlwaysOff

image

记得在很久之前也遇到需要禁用“数据执行保护”的功能,什么原因倒是记不清了。

原文地址:https://www.cnblogs.com/zhaoguan_wang/p/4710845.html