关于Unity3D的编辑器崩溃时的线索定位
2015-12-27 12:45
621 查看
今天在Unity3D编辑器中进行功能測试的时候,编辑器突然崩溃了(就是整个窗体突然消失,进程直接结束)之后也没有不论什么错误报告信息提示。好吧,应该是偶现问题。我侥幸地想,我用的好歹也是正版啊,不应该总出这样的莫名其妙的问题吧
。
再次进行相同的功能測试,编辑器又崩溃了,依旧没有不论什么错误报告,这让我想进行调试都无从调起。
想想有什么线索吧,突然想起编辑器在硬盘上也是有log输出的。在崩溃的时候,假设已经进行了错误log输出。那么就能够找到崩溃的线索。在磁盘上翻了下,最后在下面文件夹找到了log文件:
C:\Documents and Settings\xxxx(username)\Local Settings\Application Data\Unity\Editor,里面有两个文件:
Editor.log——察看了下内容。属于编辑器在编辑阶段的log输出,主要是编译时产生dll信息。warning和错误。
Editor-prev.log——这个是执行期的log输出,包含了开发人员自己调用Debug.log函数族所输出的信息。以及Mono本身的执行时异常信息
在Editor-prev.log中最终有所发现:
StackOverflowException: The requested operation caused a stack overflow.
at System.Convert.ToInt32 (Double value) [0x00000] in <filename unknown>:0
at Test.Scan (Int32 _depth, Int32 _octant, Double _startSlope, Double _endSlope) [0x00041] in F:\TestDemo\Assets\Test.cs:384
就是栈溢出了,看了下Scan函数,是个递归函数,确实会造成栈溢出,走读了下代码。崩溃得以解决。我在想,为什么诸如NullReference之类的异常不会导致Unity3D编辑器崩溃。而栈溢出会导致呢?还是说并不是全部的栈溢出异常都回导致编辑器崩溃呢?
小结:当编辑器崩溃无法察看console上的输出信息时,能够到硬盘的文件夹下寻找线索:
C:\Documents and Settings\xxxx(username)\Local Settings\Application Data\Unity\Editor
详情介绍: http://url.cn/RTBgdY
。
再次进行相同的功能測试,编辑器又崩溃了,依旧没有不论什么错误报告,这让我想进行调试都无从调起。
想想有什么线索吧,突然想起编辑器在硬盘上也是有log输出的。在崩溃的时候,假设已经进行了错误log输出。那么就能够找到崩溃的线索。在磁盘上翻了下,最后在下面文件夹找到了log文件:
C:\Documents and Settings\xxxx(username)\Local Settings\Application Data\Unity\Editor,里面有两个文件:
Editor.log——察看了下内容。属于编辑器在编辑阶段的log输出,主要是编译时产生dll信息。warning和错误。
Editor-prev.log——这个是执行期的log输出,包含了开发人员自己调用Debug.log函数族所输出的信息。以及Mono本身的执行时异常信息
在Editor-prev.log中最终有所发现:
StackOverflowException: The requested operation caused a stack overflow.
at System.Convert.ToInt32 (Double value) [0x00000] in <filename unknown>:0
at Test.Scan (Int32 _depth, Int32 _octant, Double _startSlope, Double _endSlope) [0x00041] in F:\TestDemo\Assets\Test.cs:384
就是栈溢出了,看了下Scan函数,是个递归函数,确实会造成栈溢出,走读了下代码。崩溃得以解决。我在想,为什么诸如NullReference之类的异常不会导致Unity3D编辑器崩溃。而栈溢出会导致呢?还是说并不是全部的栈溢出异常都回导致编辑器崩溃呢?
小结:当编辑器崩溃无法察看console上的输出信息时,能够到硬盘的文件夹下寻找线索:
C:\Documents and Settings\xxxx(username)\Local Settings\Application Data\Unity\Editor
详情介绍: http://url.cn/RTBgdY
相关文章推荐
- UNITY 位移
- unity shader的固定管线(fixed function shader)
- [置顶] unity3d基于ugui的ui模块
- {Unity} Shader初步
- {Unity} 2D游戏,Canvas转世界坐标
- {Unity} Renderer SortingOrder的取值范围
- Unity -网格合并
- unity3d 如何判断一点是不是在一个相机的视锥内
- Unity3d ulua 环境搭建与所遇到的问题
- unity自带寻路Navmesh入门教程(一)
- KING_UNITY学习之鼠标点击地面控制人物移动
- 实例教程Unity3D单例模式(一)通经常使使用方法
- unity build设置固定分辨率不生效的问题
- Unity3d截图方法合集
- Unity3d 异常与解决方案集合(持续)
- Unity3D行为树插件Behave学习笔记
- Unity内存分析
- Unity NGUI UIPanel下对粒子的剪裁
- 双边滤波C#及Unity3D龟速实现
- Unity3D研究院之通过C#使用Advanced CSharp Messenger