强迫症犯了,请教大佬这样的报错信息怎么查找报错源?

游戏运行没有任何问题,就是一运行游戏F12控制台就显示这样的报错信息,似乎是加载什么东西报404了,就是点开来也看不懂,也没有发现有什么文件是我写过的,不知道是哪里报错

image

这个是编译后的文件名,所以你看不出来的。
反正就是某个你绑定的资源,后来你把文件删了或者移动了,这个引用的地方没改导致的。

3个方法查找,1.根据文件名逆向查原名(我记得好像有谁写过插件来着)。2.一般那个miss的地方,绑定属性那里是红的,你一个个点来看看。3.只眼开只眼闭,反正这个地方漏了,要么是影响功能的你迟早会发现,要么是无关重要的,那就直接不管了。

1赞

另外其实我个人想咨询一下引擎组,文件名特意hash名字的主要目的是什么?
缓存?那原路径文件名后加md5也可以啊,例如aaa.jpg => aaa.15641.jpg
加密?感觉不是
组织资源?这个理由相对靠谱,但总感觉真的要这样hash化才能组织吗?

1赞

image 查一下UUID左边哪个右击有列表,可以查,你看一下是不是你一个自定义组件放在多个节点上了。

1赞

它这是16进制,复制后通过UUID就可以查了,如果再反编译出会更耗时,所以从本身的性能出发,它报错的时候就舍弃了,没有转换。

大佬牛逼!还可以这样查!
我查找出来了,是一个prefab里面的spriteframe丢失了,因为每次都是动态加载的所以运行看不出来问题
image

其实我意思是为啥要编译成16进制的名字?而不保留原来的路径和名字,当初的设计初衷是啥?

https://blog.csdn.net/Px01Ih8/article/details/122871739
我觉得这篇文章可以帮你解决疑惑16进制的疑惑。至于为什么会编译16进制,网页是从性能和可读性和性能出发,其实本身是可以反馈保留路径和名,但是会降低运行的效率。很多产品上都运动到为了提高计算机性能而舍弃一些繁琐的代码。相反的像谷歌,它的服务器是由价格便宜的组合而成,而不是价格高昂的服务器组合而成。