Unity:PlayMode进入死循环导致无响应,找到问题代码|Mac版本

在play Mode下,如果出现死循环的话Unity会无响应,参考了一些方法发现可以很容易找到问题代码,也不需要强制退出Unity导致工程进度丢失。自己记录下:

出现死循环后,重新打开Unity。

1.先不要play,首先在VS中开启“调试”面板:

Unity:PlayMode进入死循环导致无响应,找到问题代码|Mac版本_第1张图片

2.在VS里面点击这个按钮,连接Unity:

Unity:PlayMode进入死循环导致无响应,找到问题代码|Mac版本_第2张图片

3.现在,Unity可以开始Play Mode了: 

Unity:PlayMode进入死循环导致无响应,找到问题代码|Mac版本_第3张图片 

4.重点来了

死循环出现,unity无响应后,点击VS里面这个暂停执行按钮:

Unity:PlayMode进入死循环导致无响应,找到问题代码|Mac版本_第4张图片 

5.这时,调试面板的「线程」窗口出现的这一行,就是死循环代码!

双击它,会自动定位到出现问题的代码:

Unity:PlayMode进入死循环导致无响应,找到问题代码|Mac版本_第5张图片 

Unity:PlayMode进入死循环导致无响应,找到问题代码|Mac版本_第6张图片 

6.现在就可以自行想办法解决死循环了!

在这里我的方法是,令do..while..结构的while判断语句的结果变成false,使它不会继续下一次循环。直接修改变量好了!

修改变量的方法:在「监视」窗口输入变量名称,重新输入想要的值。

或从「局部变量」窗口找到想修改的变量,修改值。

Unity:PlayMode进入死循环导致无响应,找到问题代码|Mac版本_第7张图片 

Unity:PlayMode进入死循环导致无响应,找到问题代码|Mac版本_第8张图片 

修改之后,再点击VS的「▶️」按钮继续执行代码,离开死循环。这时回到Unity,也从未响应的状态脱离了!可以安全地退出play mode继续工作了。

感谢下面的博客,谢谢各位老师

 

参考:

快速查找Unity死循环_随风吹笛-CSDN博客_unity 死循环

快速查找Unity中的死循环_Patrick-CSDN博客_unity 死循环

你可能感兴趣的:(Unity,unity,游戏引擎,c#)