從事件查看器中發現,IIS不定期崩潰並重啟的現象。抓取crash dump文件后,發現能夠看到異常,但沒有堆棧信息(主要是只會看托管代碼的堆棧,非托管的不清楚。),問題表現及dump日志的截圖如下:
從dump文件的異常信息分析看,System.AccessViolationException,嘗試讀取或寫入受保護的內存。這通常指示其他內存已損壞。
根據微軟的分析,當前應用或第三方系統與Windows系統的數據執行保護策略有沖突造成異常。
可以嘗試禁用Windows的數據執行保護功能,操作步驟如下:
1、 以管理員身份啟動cmd命令行窗口
2、 執行命令:bcdedit.exe /set nx AlwaysOff
記得在很久之前也遇到需要禁用“數據執行保護”的功能,什么原因倒是記不清了。