.net中出现死循环或者无限递归
浏览量:2711
CRM定制请找易势科技
记得在刚学c语言的时候,写算法的时候,经常会遇到死循环情况,当死循环时候,结果是那dos界面,数字刷溜溜的往上滚,滚动条刷溜溜的越来越小,最后只有强制关闭程序,才能终结。
现在在.net中很少遇到死循环的情况了,因为很少写算法了
.net的开发一般都在VS中进行,因为vs集成环境强大的编译功能,强类型,自动垃圾回收,所以一般的错误都会在程序运行前发现,当然那些逻辑错误除外
项目用的是模板引擎,遇到了一个问题,在VS中运行会出现这个提示
“WebDev.WebServer.exe 遇到问题需要关闭”
在IIS中运行会出现
“Faulting application w3wp.exe, version 6.0.3790.3959, stamp 45d6968e, faulting module kernel32.dll, version 5.2.3790.3959, stamp 45d742c2, debug? 0, fault address 0x0000bee7”
经过调试,发现出现了
“未处理的“System.StackOverflowException”类型的异常出现在System.dll 中。提示有无限循环或者无限递归”
报错的地方不是后台程序,而且其它页面也正常
于是我从html页面排除,发现我的模板里面有自调用自己的情况,就是无限递归调用自己。
删除一切OK。
所以警惕无限递归,死循环,警惕逻辑错误。