Unity3D的断点调试功能
2014-02-13 10:43
260 查看
断点调试功能可谓是程序员必备的功能了。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上去,进行调试就行了。
转自:http://liweizhaolili.blog.163.com/blog/static/162307442013214485190/
好了,简单的说说做法吧:
首先肯定是先要把脚本编辑器指定为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上去,进行调试就行了。
转自:http://liweizhaolili.blog.163.com/blog/static/162307442013214485190/
相关文章推荐
- unity assert 路径
- Unity代码混淆方案
- Unity3D学习笔记——GUI高级组件
- Unity3D游戏开发初探—3.初步了解U3D物理引擎
- Unity3D学习笔记——IDE工作视图
- unity3d 从0开始学
- Unity3d-在Unity项目中使用Mono DLL(动态链接库)
- Unity3d中UnityEngine.Object的几个注意点
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(24)-权限管理系统-将权限授权给角色
- 大神博客
- Unity3D 移动开发代码优化
- Unity3d性能优化代码篇
- Unity:Asset store下载下来的package位置
- Unity实现 场景切换 音乐不断
- [Unity3d]单例模式
- [Unity3d]单例模式
- Error building Player: UnityException: Bundle Identifier has not been set up correctly
- Unity NGUI实现角色名追随角色移动
- 【大型unity教程】RPG游戏制作教程(中文字幕)
- boost aio多线程服务器与unity 程序连接 测试代码