再见Unity3d的死循环
前两天看见http://www.manew.com/thread-89909-1-1.html这篇译文之前几个小时刚好解决了一个莫名的死循环问题,然后忍不住要把另外一种方法告诉蛮友们。这个方法不需要知道汇编知识,只需要在VS中会打开线程窗口即可。接下来看看是怎么回事。
我们先建立一个新工程,新建C#文件,然后在Start函数中加入以下代码:
|
1
2
3
4
5
|
void Start () {while (true){ int i = 1;}} |
把这个C#文件挂到场景摄像机或其它GameObject上。
打开这个工程对应的VS工程(如何用VS编辑3d的代码省略),选择“调试/Attach Unity Debuger”菜单来调试Unity3d代码。
在Unity3d中启动游戏,然后整个Unity3d必然卡住。切回VS,选择“调试/窗口/线程"菜单,打开线程窗口。这个时候看不到什么,然后如果我们点击中断按钮 <ignore_js_op>
,奇迹发生了:
在线程窗口出现了正在循环的代码,双击我们的代码的线程,可以把具体的代码显示出来,如下图
<ignore_js_op>![]()
以上代码在Unity4.7,VS2013调试。记得先Attach然后再运行游戏。
再见Unity3d的死循环的更多相关文章
- Unity3D使用经验总结 缺点篇
不论是从官方手册,还是各种第三方教程,几乎涉及到的,都是讲如何使用U3D,以及U3D的优点. 虽然我是用的一个让步语气,但请不要否认U3D的这些优点,它们的确存在. 但对于一个引擎的特性来说,优点与缺 ...
- 【吐血推荐】简要分析unity3d中剪不断理还乱的yield
在学习unity3d的时候很容易看到下面这个例子: void Start () { StartCoroutine(Destroy()); } IEnumerator Destroy(){ yield ...
- 已经被cocos2dx给折腾的想要放弃它,专注Unity3D的怀抱了!
一直使用cocos2dx编写自己的2D小游戏,不得不说,编写个人的超级小规模的游戏,使用cocos2dx有一定的优势,首先门槛很低,编写2D游戏用起来也算顺手,可惜一直没有一个优秀的UI编辑器,好不容 ...
- Unity3D项目实战笔记(10):Unity3D编译IPA的PostEvents–节约时间利器
最近,SDK支付等接入差不多了,就从Unity3D生成IPA (企业版License), 然,需要手动执行的PostEvents竟然多大10项+, 这些我默默的承受了1周时间,每次约浪费20分钟-额外 ...
- Unity3d学习 基础-关于MonoBehaviour的生命周期
其实在刚接触Unity3D,会有一个疑问,关于Unity3D游戏运行的初始入口在哪?不像Cocos2dx还有个AppDelegate文件可以去理解.而且在刚开始就接触Unity3D时,看到所有脚本中编 ...
- Unity3D游戏xlua轻量级热修复框架
这是什么东西 前阵子刚刚集成xlua到项目,目的只有一个:对线上游戏C#逻辑有Bug的地方执行修复,通过考察了xlua和tolua,最终选择了xlua,原因如下: 1)项目已经到了后期,线上版本迭代了 ...
- 【Unity3D技术文档翻译】第1.9篇 使用 Unity AssetBundle Browser tool (AssetBundle系列完结)
上一章:[Unity3D技术文档翻译]第1.8篇 AssetBundles 问题及解决方法 本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced D ...
- Unity3D工程全资源自动检测系统
是什么 这系统到底是个啥 本系统主要用于自动监测与检测各类型资源是否正常及满足指定规范,并在第一时间把出现的问题输出到控制台与保存到文件,以供对应的负责人及时修正. 为什么 你可能经常遇到的问题 资源 ...
- Unity3D游戏轻量级xlua热修复框架
Unity3D游戏轻量级xlua热修复框架 一 这是什么东西 前阵子刚刚集成xlua到项目,目的只有一个:对线上游戏C#逻辑有Bug的地方执行修复,通过考察xlua和tolua,最终选择了xlua ...
随机推荐
- oracle判断某个字符在字段里出现过几次
SELECT LENGTH(字段名)-LENGTH(REPLACE(字段名,'字符','')) FROM 表名;
- 【知识点】安全存储服务(SSS)目标应用程序类型
存在若干种类型的目标应用程序.它们分为两大类:单独的目标应用程序和组目标应用程序.目标应用程序的类型与用于映射用户凭据的帐户类型对应.如果每个用户都在目标应用程序中具有一个帐户,则选择单独的类型.如果 ...
- ubuntu 12.04 设置代理
一. Ubuntu 12.04 apt-get 代理设置 由于公司通过代理上网,firefox的代理设置很容易就搞定了,但是通过apt-get安装软件还是不行,于是,查阅了很多资料,最多的方法就是网上 ...
- 防止SQL注入攻击的一些方法小结
SQL注入攻击的危害性很大.在讲解其防止办法之前,数据库管理员有必要先了解一下其攻击的原理.这有利于管理员采取有针对性的防治措施. 一. SQL注入攻击的简单示例. statement := &quo ...
- js 分享到按钮
基础的思路,可以在此基础加强 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...
- Android IOS WebRTC 音视频开发总结(七十)-- 移动端音视频技术优化的七个方向
最近直播很火,很多朋友对背后的技术比较感兴趣,所以今天我们整理一篇关于移动端视频优化的文章,这篇文章是我朋友在一个技术大会上分享过的,更多内容请关注我们的微信公众号:rtcblacker 视频直播为什 ...
- C# .net ACCESS 网页增删改查 --留言板
话不多说,上代码 http://yunpan.cn/QaQs5Dzz8ZIxK 访问密码 041b
- Python自动化 【第四篇】:Python基础-装饰器 生成器 迭代器 Json & pickle
目录: 装饰器 生成器 迭代器 Json & pickle 数据序列化 软件目录结构规范 1. Python装饰器 装饰器:本质是函数,(功能是装饰其它函数)就是为其他函数添加附加功能 原则: ...
- QuerySet转化为JSON
import json data = json.dumps(list(my_table.objects.all().values())) return HttpResponse(data)
- Linux内核启动logo
之前在分析samsung的fb驱动代码的时候,其中有一段代码是处理内核logo显示相关的,今天就内核logo这个话题来聊一聊! 一.处理内核logo显示相关的代码在哪? 回到samsung的fb驱动代 ...