Unity3D的断点调试功能

转载 2013年12月06日 11:26:41

Unity3D的断点调试功能 

        断点调试功能可谓是程序员必备的功能了。Unity3D支持编写js和c#脚本,但很多人可能不知道,其实Unity3D也能对程序进行断点调试的。不过这个断点调试功能只限于使用Unity3D自带的MonoDevelop编辑器。而用Visual Studio是不行的。听说有个叫做UnityVS的东西可以使用VS对Unity进行断点Debug,不过阿赵我本人没试过。
 
        好了,简单的说说做法吧:
 
首先肯定是先要把脚本编辑器指定为MonoDevelop了。
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
 
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
 

 

选择好之后,可以在项目面板右键选择Sync MonoDevelop Project来打开MonoDevelop。 

Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
 
因为需要有脚本才能对脚本进行调试,所以我写了个很简单的脚本,里面有两个按钮,按第一个“add”按钮的时候,程序会用一个循环的方式把从0到9的数加起来,然后累加给sum。按第二个按钮时,会把sum清零。 
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
 
 
写好脚本之后,把脚本随便拖到场景的物体上面,我们准备调试了。在调试之前,我们需要把MonoDevelop和Unity3D进行连接。
 
具体的连接方法有2种:
第一种,先把当前场景保存一下,然后关掉Unity。回到MonoDevelop,按F5或者点击Debug按钮。
 
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
这样,MonoDevelop会打开一个新的Unity3D界面,这时候连接完成了。
 
 
第二种方法,无需关掉Unity,在MonoDevelop的Run菜单下选择Attach to Process 
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
 
 
然后选择Unity的进程,点击Attach按钮。 
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
 
 这时候,MonoDevelop就连接上了Unity了。
 
当连接好了Unity3D之后,右边的调试按钮就变成可用了,我们把视窗显示选择Debug。
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
 
debug模式脚本下面的位置会多出两个窗口。 
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
 
回到Unity,点击运行按钮,会看到刚才的脚本已经运行了。里面有两个按钮。 
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
 
回到MonoDevelop,在脚本里面我们打一个断点(在行号左边点一下) 
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
 
 然后回到Unity里面,点击第一个按钮“add”。这时候断点起作用了,程序会暂停,MonoDevelop跳到断点的行。
 
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
 
留意看下面debug的Locals信息,会看到当前状态下的变量i和sum的值。 
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
 
使用调试按钮,让程序单步的运行
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
 
我们看到了当前的变量i和sum的实际变化情况。
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
 
 
到这里,断点调试已经完成。
 
调试完之后,我建议最好把MonoDevelop和Unity3D的连接断开。假如你不断开的话,Unity会一直处于很卡的状态。
 
断开的方法也是有几种了,首先对应Debug按钮有一个断开的按钮,可以直接点击断开。 
 
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
 
或者我们可以把刚才附加的进程Detach掉。 
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
 
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
再或者,我们可以点击这个插头按钮,把Debugger 断开。
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
 
 
         这两种方法连接Unity,我建议还是使用第二种附加进程的方式吧。毕竟你不可能每次调试都要关掉一次Unity然后再从MonoDevelop打开一次Unity。所以,编写脚本的时候,把连接Detach掉,等需要调试的时候,再把进程Attach上去,进行调试就行了。

Unity3D的断点调试功能

断点调试功能可谓是程序员必备的功能了。Unity3D支持编写js和c#脚本,但很多人可能不知道,其实Unity3D也能对程序进行断点调试的。不过这个断点调试功能只限于使用Unity3D自带的MonoD...
  • FindSuningShine
  • FindSuningShine
  • 2013年08月21日 23:00
  • 487

Unity3D + Mono 断点调试功能

阿赵的文章 http://liweizhaolili.blog.163.com/blog/static/162307442013214485190/
  • ldghd
  • ldghd
  • 2013年06月18日 15:00
  • 733

Unity3D的断点调试功能(使用MonoDevelop IDE)

断点调试功能可谓是程序员必备的功能了。Unity3D支持编写js和c#脚本,但很多人可能不知道,其实Unity3D也能对程序进行断点调 试的。不过这个断点调试功能只限于使用Unity3D自带的Mono...
  • j_xiang
  • j_xiang
  • 2017年06月30日 13:37
  • 474

Fiddler-过滤功能+断点调试详解

Fiddler 的过滤功能与断点调试是十分的有用的。 关于过滤功能: 挨个介绍下这几个过滤的点。 1、Use Filters :是否使用过滤,只有在选择了这个选项...
  • bear_w
  • bear_w
  • 2017年09月22日 16:16
  • 228

eclipse 断点调试方法

作为开发人员,掌握开发环境下的调试技巧十分有必要。去年就想把关于Eclipse断点调试总结下了,由于对时间的掌控程度仍需极大提高,结果拖到今年才写了此篇博文。关于Java调试技术还有很多,如Java ...
  • sinat_22797429
  • sinat_22797429
  • 2016年10月30日 16:23
  • 1123

简单C语言模式实现OD调试断点设置

本篇要说的调试原理以及3种断点的设置     不懂调试不能说你懂了编程,不会设置断点就说明你不懂,一个程序只有不断地DEBUG才能达到它所能达到得完美,正像一个人必须得禁得起无数人,无数失败的DEBU...
  • shantikai
  • shantikai
  • 2015年01月23日 21:00
  • 1044

如何在Unity中对程序进行 Android 真机断点调试?

在百度上搜索了很久都没有找到如何在Android上面真机断点调试的方法,没办法只能科学上网到谷歌上去找,终于在Unity官网上找到了Android真机断点调试的办法。1.首先在手机上开启USB调试功能...
  • jamesliulyc
  • jamesliulyc
  • 2016年07月21日 17:37
  • 4024

说说如何使用unity Vs来进行断点调试

说说如何使用unity Vs来进行断点调试   2014-01-02 09:35:49|  分类: unity3d技术|举报|字号 订阅 大...
  • meegomeego
  • meegomeego
  • 2014年10月03日 22:29
  • 21139

如何在Unity中对程序进行 Android 真机断点调试

1.首先在手机上开启USB调试功能,并安装驱动(这一步很多手机助手都可以完成)。 2.用USB电缆连接手机和电脑。 3.确保手机和电脑在一个局域网内,简单的说就是电脑和手机共用一个路由器,网段一样。 ...
  • hanchao123
  • hanchao123
  • 2016年09月14日 14:39
  • 815

Unity3D基本入门及功能介绍

本章主要是 Unity3D 的基础快速入门篇,通过本章的学习,能让初学者们快速的掌握和 应用 Unity3D 软件。 本章导读 本章无论对于 Unity3D 初学者、或是以前从事建模工作的设计师...
  • liuyuehui110
  • liuyuehui110
  • 2017年06月10日 22:44
  • 757
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Unity3D的断点调试功能
举报原因:
原因补充:

(最多只允许输入30个字)