如果游戏出现死循环如何调试呢。
测试脚本
我们来做一个测试。
首先写一个死循环代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class dead : MonoBehaviour
{
void Start()
{
while (true)
{
int a = 1;
}
}
}
Unity对象设置
挂在一个对象上,
编译打包
然后开始编译打包,勾选Script Debugging
开始测试
我们编译完成后执行程序,程序来到一个卡死状态。
开始调试
然后打开VS2022,VS2019都可以。
项目就选择我们的测试项目。
选择调试 、 附加Unity调试程序。
然后再列表中选中进程,确定
这时候按中断暂停程序
会弹出一个线程窗口。如果没弹出,可以从调试、窗口、线程处打开,如下图:
我们可以看到当前线程执行的代码到了哪里。
这样就可以很快定位卡住的地方了。