今天在Unity3D编辑器中进行功能测试的时候,编辑器突然崩溃了(就是整个窗口突然消失,进程直接结束)之后也没有任何错误报告信息提示。好吧,应该是偶现问题,我侥幸地想,我用的好歹也是正版啊,不应该总出这种莫名其妙的问题吧

再次进行同样的功能测试,编辑器又崩溃了,依然没有任何错误报告,这让我想进行调试都无从调起。想想有什么线索吧,突然想起编辑器在硬盘上也是有log输出的,在崩溃的时候,如果已经进行了错误log输出,那么就可以找到崩溃的线索。在磁盘上翻了下,最后在以下目录找到了log文件:

C:\Documents and Settings\xxxx(用户名)\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(用户名)\Local Settings\Application Data\Unity\Editor

 

最新文章

  1. C#设计模式(2)——简单工厂模式
  2. 黑马程序员——C语言基础 内存剖析
  3. Hrbustoj 2252 完全背包
  4. 不允许调用库函数,也不允许使用任何全局或局部变量编写strlen函数
  5. Helpers\PHPMailer
  6. Wix: Using Patch Creation Properties - Small Update
  7. 【Xamarin挖墙脚系列:多窗口之间的导航】
  8. Android Learning:数据存储方案归纳与总结
  9. ABP入门系列(12)——如何升级Abp并调试源码
  10. Java并发编程的艺术读书笔记(2)-并发编程模型
  11. mybatis:Parameter &#39;ids&#39; not found.
  12. HDU 1250
  13. ss搭建
  14. SpringMVC实现 MultipartFile 文件上传
  15. 百度地图API的网页使用
  16. poj1001 Exponentiation【java大数】
  17. 高斯混合模型(理论+opencv实现)
  18. MySQL数据库(7)----数据库的选择、创建、删除和更改
  19. ZOJ 2532 Internship(最大流找关键割边)
  20. Windows下使用Nginx+tomcat配置负载均衡

热门文章

  1. shell编程 if 注意事项
  2. Cannot read property &#39;resetFields&#39; of undefined 问题及引申
  3. 数据结构&amp;图论:K短路-可持久化可并堆
  4. 谈pkusc2016的几道数学题
  5. bzoj3223 文艺平衡树 codevs3303 翻转区间
  6. bzoj1036: [ZJOI2008]树的统计Count link-cut-tree版
  7. bzoj 2243 树链剖分
  8. 【Python实例二】之前期准备:Windows下的BeautifulSoup安装
  9. ZOJ 3598 Spherical Triangle球面几何公式应用
  10. Stack的三种含义 ----超级经典 明白了 栈 的三种含义