在play Mode下,如果出现死循环的话Unity会无响应,参考了一些方法发现可以很容易找到问题代码,也不需要强制退出Unity导致工程进度丢失。自己记录下:
出现死循环后,重新打开Unity。
1.先不要play,首先在VS中开启“调试”面板:
2.在VS里面点击这个按钮,连接Unity:
3.现在,Unity可以开始Play Mode了:
4.重点来了
死循环出现,unity无响应后,点击VS里面这个暂停执行按钮:
5.这时,调试面板的「线程」窗口出现的这一行,就是死循环代码!
双击它,会自动定位到出现问题的代码:
6.现在就可以自行想办法解决死循环了!
在这里我的方法是,令do..while..结构的while判断语句的结果变成false,使它不会继续下一次循环。直接修改变量好了!
修改变量的方法:在「监视」窗口输入变量名称,重新输入想要的值。
或从「局部变量」窗口找到想修改的变量,修改值。
修改之后,再点击VS的「▶️」按钮继续执行代码,离开死循环。这时回到Unity,也从未响应的状态脱离了!可以安全地退出play mode继续工作了。
感谢下面的博客,谢谢各位老师
参考: