【发布时间】:2019-08-27 19:12:09
【问题描述】:
这段代码在 Unity 编辑器中运行良好:
MeshFilter meshFilter = GetComponent<MeshFilter>();
MeshFilter newFilter = visuals.AddComponent<MeshFilter>();
newFilter.mesh = meshFilter.mesh; // [crashes here]
但在作为 Build 运行时在第 3 行崩溃。
我发现了一个question,它似乎非常相似,但它没有提供任何解释为什么它在构建中崩溃但在编辑器中没有。在我的情况下,我通过使用 sharedMesh 属性而不是 mesh 来修复它,但仍然不知道崩溃的原因。有什么想法吗?
已编辑: 错误文本:
从位置 0000000000000218 读取导致访问冲突。
调用栈结束于:
0x0000016FE7F431C4(程序集-CSharp) .runtime_invoke_void__this___object() 0x00007FFC0663BBCB (mono-2.0-bdwgc) mono_get_runtime_build_info 0x00007FFC065C2252 (mono-2.0-bdwgc) mono_perfcounters_init 0x00007FFC065CB25F (mono-2.0-bdwgc) mono_runtime_invoke 0x00007FFC07DBC6FD (UnityPlayer) UnityMain 0x00007FFC07DB9441 (UnityPlayer) UnityMain 0x00007FFC07D9E545 (UnityPlayer) UnityMain 0x00007FFC0748BACF (UnityPlayer) UnityMain 0x00007FFC07EF2559 (UnityPlayer) UnityMain 0x00007FFC07EF2172 (UnityPlayer) UnityMain 0x00007FFC07D10E99 (UnityPlayer) UnityMain 0x00007FFC07D0CC44 (UnityPlayer) UnityMain 0x00007FFC07A8C157 (UnityPlayer) UnityMain 0x00007FFC07A8C225 (UnityPlayer) UnityMain 0x00007FFC07A8F92F (UnityPlayer) UnityMain 0x00007FFC073DF022 (UnityPlayer) PAL_Memory_Free 0x00007FFC073DD82A (UnityPlayer) PAL_Memory_Free 0x00007FFC073E1F59 (UnityPlayer) PAL_Memory_Free 0x00007FFC073E3BDB (UnityPlayer) UnityMain 错误: SymGetSymFromAddr64, GetLastError: '尝试访问无效 地址。' (地址:00007FF6865A11F2)0x00007FF6865A11F2(玩具坦克) (函数名不可用)0x00007FFC8B414034(KERNEL32) BaseThreadInitThunk 0x00007FFC8BB63691 (ntdll) RtlUserThreadStart
在error.log 文件中。
【问题讨论】:
-
有什么错误?
-
该错误类似于链接问题中的错误。我从日志中添加了一些错误信息。实际上,这对我来说没有多大意义,甚至没有帮助找到导致错误的行。