我们在使用Unity的时候,代码中如果使用了while一类的语句,一旦出现死循环,就会导致Unity编辑器卡死,这让人非常抓狂,因为遇到这种情况,对于我来说只能是强制结束Unity的进程。不但影响了心情,而且有时候甚至没有保存的场景就丢失了,虽然丢失有恢复的方法,但我还是想寻求一种其它方式。
由于参照网上的教程没有能够解决出现的这个问题,所以想了一个简单的方案,如果大家有好的方案,请留言告知,谢谢! 如果找到新的方式,我也会更新这篇文章。
转载请注明出处:https://www.jianshu.com/p/4ef259e24860
我想到的这种解决方案很简单,如下:
1、首先在你的全局配置里面定义一个全局的变量。
public class Config
{
public static bool WHILE_SAFE_SWITCH = true;
}
2、在你认为可能出现死循环的地方加入这个开关。
void Start()
{
while (true && Config.WHILE_SAFE_SWITCH)
{
}
}
3、当出现死循环的时候加断点Attach一下UnityEditor。
4、修改
Config.WHILE_SAFE_SWITCH
的值为false。此时,Unity 编辑器就会暂停了。你需要做的就是点击下运行按钮,让UnityEditor真正停下来。
第四步需要注意的是,需要执行的表达式直接是配置类。