今天在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

 

(转)关于Unity3D的编辑器崩溃时的线索定位的更多相关文章

  1. 关于Unity3D的编辑器崩溃时的线索定位

    今天在Unity3D编辑器中进行功能測试的时候,编辑器突然崩溃了(就是整个窗体突然消失,进程直接结束)之后也没有不论什么错误报告信息提示.好吧,应该是偶现问题.我侥幸地想,我用的好歹也是正版啊,不应该 ...

  2. (转)Unity3d UnityEditor编辑器定制和开发插件

    在阅读本教程之前,你需要对Unity的操作流程有一些基础的认识,并且最好了解内置的GUI系统如何使用. 如何让编辑器运行你的代码 Unity3D可以通过事件触发来执行你的编辑器代码,但是我们需要一些编 ...

  3. 【转载】Unity3d UnityEditor编辑器定制和开发插件

    在阅读本教程之前,你需要对Unity的操作流程有一些基础的认识,并且最好了解内置的GUI系统如何使用. 如何让编辑器运行你的代码 Unity3D可以通过事件触发来执行你的编辑器代码,但是我们需要一些编 ...

  4. 让linux中的程序崩溃时生成core文件

    当我们的linux程序崩溃的时候,常常会有这样的提示:    Segmentation fault (core dumped)    段错误 (核心已转储)    提示说生成了core文件,但是此功能 ...

  5. IIS崩溃时自动抓取Dump

    背景:在客户现场,IIS有时会崩溃,开发环境没法重现这个bug,唯有抓取IIS的崩溃是的Dump文件分析. IIS崩溃时自动抓取Dump,需要满足下面几个条件 1.启动 Windows Error R ...

  6. [转]让程序在崩溃时体面的退出之SEH+Dump文件

    原文地址:http://blog.csdn.net/starlee/article/details/6649605 在我上篇文章<让程序在崩溃时体面的退出之SEH>中讲解了SEH中try/ ...

  7. [转]让程序在崩溃时体面的退出之Dump文件

    原文地址:http://blog.csdn.net/starlee/article/details/6630816 在我的那篇<让程序在崩溃时体面的退出之CallStack>中提供了一个在 ...

  8. [转]让程序在崩溃时体面的退出之CallStack

    原文地址:http://blog.csdn.net/starlee/article/details/6618849 在我的那篇<让程序在崩溃时体面的退出之Unhandled Exception& ...

  9. 让程序在崩溃时体面的退出之Dump文件

             在我的那篇<让程序在崩溃时体面的退出之CallStack>中提供了一个在程序崩溃时得到CallStack的方法.但是要想得到CallStack,必须有pdb文件的支持.但 ...

随机推荐

  1. function(data)

    转:http://blog.csdn.net/lixld/article/details/12206367 之前用了$.post()已经很久了,可是从来没有好好研究过这里的data对象,今天好好总结下 ...

  2. 深入探索 高效的Java异常处理框架

    转载自:http://www.sunwei.org/archives/196 摘要:本文从Java异常最基本的概念.语法开始讲述了Java异常处理的基本知识,分析了Java异常体系结构,对比Sprin ...

  3. C# MVC 页面面包屑以及相应的权限验证操作

    一.特性类 /// <summary> /// 访问权限控制属性. /// </summary> [AttributeUsage(AttributeTargets.Method ...

  4. python3 生成器表达式

    生成器表达式 [i for i in range(100)] #列表解析 与列表解析的不同是,列表解析用中括号,生成器表达式用小括号 g = (i for i in range(1000)) #生成器 ...

  5. wscript运行js文件

    wscript运行js文件 http://www.cnblogs.com/jxgxy/archive/2013/09/20/3330818.html wscript运行js文件 wscript  ad ...

  6. javascript 将字符串当函数执行

    //语法 eval(str); //demo var t = "func"; eval(''+func+'()');

  7. vCard

    vCard 在翻阅dottoro的时候,在附录(appendix)的js部分,注意到一个叫vCard的部分,能单独列出来,可能是比较重要的,至少是比较独立的部分,但是以前从未听说或者了解过这一部分,如 ...

  8. sudo cd为什么不能够执行

    问题描述 我想要cd到/etc/docker,但是它给我一个权限不够的错误,然后,我想到使用sudo cd /etc/docker时,它告诉我sudo: cd:找不到命令. 于是,郁闷的我就去上网找了 ...

  9. grep 所有多个关键字

    标签(空格分隔): Linux 多个关键字 或 关系 egrep 'CommentManager|getComment' --color catalina.log.2017-03-15 grep -E ...

  10. Selenium2+python自动化-gird分布式(转载)

    本篇转自博客:上海-小T 原文地址:http://blog.csdn.net/real_tino/article/details/53467406 Selenium grid是用来分布式执行测试用例脚 ...