偶尔,我发现在调试ASP.Net应用程序(在Visual Studio 2008中编写,在Vista 64位上运行)时,本地ASP.Net开发服务器(即“Cassini”)停止响应. 经常会出现一条消息,告诉我“数据执行保护(DEP)”已经杀死
经常会出现一条消息,告诉我“数据执行保护(DEP)”已经杀死了WebDev.WebServer.exe
事件日志只是告诉我“WebDev.WebServer.exe已停止工作”
我听说这个’问题’在Vista 64位上经常出现,因为DEP默认开启.因此,关闭DEP可能会“解决”问题.
但我想知道:
是否有一个已知的错误/情况与卡西尼导致DEP杀死进程?
或者,禁用数据执行保护的实际危险是什么?
确切知道的唯一方法是挖掘Cassini源并查看是否有任何区域在堆上生成代码然后执行它而不清除NX标志.但是,为什么不使用IIS,而不是这样做?
编辑:
禁用DEP的危险在于您打开了安全漏洞. DEP的工作原理是不允许执行堆上任意生成的代码.这有助于防止恶意软件程序将代码插入合法程序的数据段中.