Unity使用MonoDevelop快速调试
2014-04-03 16:10
344 查看
目标:
下面这篇教程详细介绍了如何挖掘MonoDevelop的强大调试功能:如何在不重新编译工程的情况下调试
如何查看调用堆栈
如何跟踪变量值的变化
使用MonoDevelop调试
首先最重要的是你不再需要为了调试而编译你的工程。很多人包括我在内,都不知道这个特性而花费很多时间在MonoDevelop里编译,然后在Unity的编辑器里调试,而你再也不需要这么做了。首先,不要用MonoDevelop编译你的游戏,不同版本的Mono编译的结果可能与你的Unity支持的不一致!
第一步关闭MonoDevelop编译。方法:打开MonoDevelop的菜单Options > Unity > Debugger,取消"Build project in MonoDevelop"。
然后在MonoDevelop中编写你的代码,保存后让Unity编译 - 这个方式真是极好的。
如果要调试代码,只需在MonoDevelop中打开Run->Attach To Process menu,然后选择Unity Editor即可。
完成这些设置后,你可以设置断点或者程序会在有异常的地方中断,这样你可以方便的在监视窗口查看变量值的变化。
调试死锁
有时候你的程序会出现死锁,比如下面就是个经典的案例:IEnumerator SomeCoroutine() { yield return new WaitForSeconds(2); while(Input.GetKeyDown(KeyCode.Space)) { transform.position += transform.forward * Time.deltaTime; // yield return null; } }
一旦你敲下了空格,代码执行将陷入死循环,再也无法结束并返回到编辑器界面(我们忘记了yield return null)。
如果你的游戏发生了这样的死锁,你只需点击Run -> Pause,然后你就可以看到调用堆栈从而找到问题所在了。
指导视频
这段视频非常值得观看,介绍了很多调试的小技巧,能大幅度提升你的工作效率(该视频在YT上,同学需自备梯子)。视频地址:Debugging With MonoDevelop
原文地址:http://unitygems.com/debugging-game-monodevelop/
本人只负责翻译,版权仍归原作者所有,如需转载,请注明该出处!
相关文章推荐
- 使用新版MonoDevelop来进行unity工程调试
- Unity3.5的脚本编写(C#),请使用VS编写,然后用MonoDevelop调试!
- Unity使用MonoDevelop进行断点调试
- Unity进阶技巧 - 使用MonoDevelop来断点调试
- 快速认识和使用浏览器跟踪Http服务及Http服务调试工具
- IISExpress 调试使用学习,使用附加到进程进行快速调试
- visual studio code and unity||mac 下使用visual studio 调试unity代码
- .NET Core快速入门教程 5、使用VS Code进行C#代码调试的技巧
- Unity5利用Monodevelop调试Unity
- 将Unity的脚本封装为dll文件(使用monodevelop编译器)
- Unity使用 UnityVS+VS2013 调试脚本
- vc调试:使用MAP文件快速定位程序崩溃代码行-zz
- 使用 MonoDevelop 调试 Unity3D 的正确步骤
- 使用Myeclipse实现快速调试
- SIP调试 使用NGREP进行快速SIP包分析
- unity 3d快速使用KGFMapSystem开发小地图
- Unity中使用和调试Dll
- Unity中的Debug类调试使用
- 使用VS调试Unity脚本
- 常用JS调试工具使用方法,帮你快速定位问题(Firebug+ IE“开发人员工具”)