请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

【技术宅公社】数字艺术论坛   游戏开发 定格动画 动画论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

人人连接登陆

无需注册,直接登录

只需一步,轻松搞定

调查问卷
搜索
www.Exceedu.com视频站即将开放!欢迎投稿!论坛使用专用地址http://forum.exceedu.com/forum

ExceedU@学习圈子在线视频平台与论坛账号现在已经互通,在视频页面注册的朋友在论坛里需要激活!! 通过这个窗口,给我们提意见。我们的数字教程在持续研发当中,感谢大家的关注。

查看: 2710|回复: 14

[基础技术] [转]Unity3D的断点调试功能

[复制链接]
  • TA的每日心情
    幸福
    2013-7-18 09:18
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2013-4-28 10:24:35 | 显示全部楼层 |阅读模式
    一键分享 一键分享
    断点调试功能可谓是程序员必备的功能了。Unity3D支持编写js和c#脚本,但很多人可能不知道,其实Unity3D也能对程序进行断点调试的。不过这个断点调试功能只限于使用Unity3D自带的MonoDevelop编辑器。而用Visual Studio是不行的。听说有个叫做UnityVS的东西可以使用VS对Unity进行断点Debug,不过我本人没试过。

            好了,简单的说说做法吧:

    首先肯定是先要把脚本编辑器指定为MonoDevelop了。




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



    因为需要有脚本才能对脚本进行调试,所以我写了个很简单的脚本,里面有两个按钮,按第一个“add”按钮的时候,程序会用一个循环的方式把从0到9的数加起来,然后累加给sum。按第二个按钮时,会把sum清零。



    写好脚本之后,把脚本随便拖到场景的物体上面,我们准备调试了。在调试之前,我们需要把MonoDevelop和Unity3D进行连接。

    具体的连接方法有2种:
    第一种,先把当前场景保存一下,然后关掉Unity。回到MonoDevelop,按F5或者点击Debug按钮。

    这样,MonoDevelop会打开一个新的Unity3D界面,这时候连接完成了。


    第二种方法,无需关掉Unity,在MonoDevelop的Run菜单下选择Attach to Process


    然后选择Unity的进程,点击Attach按钮。

    这时候,MonoDevelop就连接上了Unity了。

    当连接好了Unity3D之后,右边的调试按钮就变成可用了,我们把视窗显示选择Debug。


    debug模式脚本下面的位置会多出两个窗口。

    回到Unity,点击运行按钮,会看到刚才的脚本已经运行了。里面有两个按钮。

    回到MonoDevelop,在脚本里面我们打一个断点(在行号左边点一下)

    然后回到Unity里面,点击第一个按钮“add”。这时候断点起作用了,程序会暂停,MonoDevelop跳到断点的行。


    留意看下面debug的Locals信息,会看到当前状态下的变量i和sum的值。

    使用调试按钮,让程序单步的运行


    我们看到了当前的变量i和sum的实际变化情况。



    到这里,断点调试已经完成。

    调试完之后,我建议最好把MonoDevelop和Unity3D的连接断开。假如你不断开的话,Unity会一直处于很卡的状态。

    断开的方法也是有几种了,首先对应Debug按钮有一个断开的按钮,可以直接点击断开。


    或者我们可以把刚才附加的进程Detach掉。


    再或者,我们可以点击这个插头按钮,把Debugger 断开。



             这两种方法连接Unity,我建议还是使用第二种附加进程的方式吧。毕竟你不可能每次调试都要关掉一次Unity然后再从MonoDevelop打开一次Unity。所以,编写脚本的时候,把连接Detach掉,等需要调试的时候,再把进程Attach上去,进行调试就行了。
    回复

    使用道具 举报

    该用户从未签到

    发表于 2014-3-21 17:01:47 | 显示全部楼层
    很的的讲解。我喜欢
  • TA的每日心情
    太忙
    2014-3-26 19:09
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2014-3-26 19:46:04 | 显示全部楼层
    一模一样的尝试 不行
    [发帖际遇]: 大奥每日按时发帖,抽中奖励 1 荣誉点数. 幸运榜 / 衰神榜

    该用户从未签到

    发表于 2014-6-30 22:45:56 | 显示全部楼层
    太好了,我谢谢分享
  • TA的每日心情
    保佑
    2014-7-1 17:53
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2014-7-1 18:00:25 | 显示全部楼层
    谢谢楼主分享
  • TA的每日心情
    开心
    2014-9-6 07:35
  • 签到天数: 13 天

    [LV.3]偶尔看看II

    发表于 2014-8-24 19:48:38 | 显示全部楼层
    有很多图片显示不出来
  • TA的每日心情
    红包
    2018-4-20 09:51
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2014-8-25 23:03:41 | 显示全部楼层
    huking 发表于 2014-8-24 19:48
    有很多图片显示不出来

    恩~~但是看文字也能做出来
  • TA的每日心情
    太忙
    2014-12-18 16:31
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2014-12-18 17:12:26 | 显示全部楼层
    这个功能当初在网上找了好久,现在经常用到

    该用户从未签到

    发表于 2015-2-4 16:08:55 | 显示全部楼层
    这个好有用,谢谢楼主分享

    该用户从未签到

    发表于 2015-2-4 16:10:32 | 显示全部楼层
    Unity3D是哪个版本的?
  • TA的每日心情
    臭美
    2015-4-12 09:47
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2015-4-12 10:07:16 | 显示全部楼层
    原来还可以这样!!!
  • TA的每日心情
    撞墙
    2015-5-14 14:22
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2015-5-13 21:03:51 | 显示全部楼层
    程序调试是一项很重要的技能因为程序就是靠调试出来的

    该用户从未签到

    发表于 2015-7-26 15:14:20 | 显示全部楼层
    阅。已学习!!顶一下
  • TA的每日心情
    生病
    2015-9-8 16:22
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2015-9-8 16:30:27 | 显示全部楼层
    这样开发起来更加方便了~学习了
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册 人人连接登陆

    本版积分规则

    申请友链|小黑屋|手机版|ExceedU数字艺术 ( 沪ICP备14023054号  

    GMT+8, 2018-8-20 21:14

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表