Unity3D的断点调试功能



这篇文章介绍的调试工具是Unity自带的MonoDevelop, 假设要用VS,须要下载unityvs http://unityvs.com/.


http://liweizhaolili.blog.163.com/blog/static/162307442013214485190/


       断点调试功能可谓是程序猿必备的功能了。Unity3D支持编写js和c#脚本。但非常多人可能不知道,事实上Unity3D也能对程序进行断点调试的。只是这个断点调试功能仅仅限于使用Unity3D自带的MonoDevelop编辑器。而用Visual Studio是不行的。听说有个叫做UnityVS的东西能够使用VS对Unity进行断点Debug。只是阿赵我本人没试过。


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



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


Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵

 

Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵



 


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


Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵



由于须要有脚本才干对脚本进行调试。所以我写了个非常easy的脚本,里面有两个button,按第一个“add”button的时候,程序会用一个循环的方式把从0到9的数加起来。然后累加给sum。

按第二个button时,会把sum清零。

 


Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵




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



详细的连接方法有2种:


第一种,先把当前场景保存一下,然后关掉Unity。

回到MonoDevelop,按F5或者点击Debugbutton。

 

Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵


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



另外一种方法。无需关掉Unity,在MonoDevelop的Run菜单下选择Attach to Process 

Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵



然后选择Unity的进程,点击Attachbutton。

 

Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵



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



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


Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵


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

 

Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵


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

 

Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
回到MonoDevelop,在脚本里面我们打一个断点(在行号左边点一下) 
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
 然后回到Unity里面,点击第一个button“add”。

这时候断点起作用了,程序会暂停,MonoDevelop跳到断点的行。

 
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
留意看以下debug的Locals信息。会看到当前状态下的变量i和sum的值。 
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
使用调试button。让程序单步的执行
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
我们看到了当前的变量i和sum的实际变化情况。
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
到这里,断点调试已经完毕。
调试完之后,我建议最好把MonoDevelop和Unity3D的连接断开。

假如你不断开的话。Unity会一直处于非常卡的状态。

断开的方法也是有几种了。首先相应Debugbutton有一个断开的button。能够直接点击断开。 
 
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
或者我们能够把刚才附加的进程Detach掉。 
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
 
Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
再或者,我们能够点击这个插头button,把Debugger 断开。

Unity3D的断点调试功能 - 阿赵 - 有爪的小羔羊阿赵
 
 

         这两种方法连接Unity,我建议还是使用另外一种附加进程的方式吧。毕竟你不可能每次调试都要关掉一次Unity然后再从MonoDevelop打开一次Unity。

所以,编写脚本的时候,把连接Detach掉,等须要调试的时候。再把进程Attach上去,进行调试即可了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/262223.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java模拟器分辨率_android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项...

1 Android手机目前常见的分辨率1.1 手机常见分辨率:4:3VGA 640*480 (Video Graphics Array)QVGA 320*240 (Quarter VGA)HVGA 480*320 (Half-size VGA)SVGA 800*600 (Super VGA)5:3WVGA 800*480 (Wide VGA)16:9FWVGA 854*480 (Full Wide VGA)HD 1920*1080 High D…

python中if else语句用法_Python中if-else语句的多种写法

原博文 2017-02-06 10:24 − 初学Python在看程序时发现python中if-else的多种写法,故对其进行分析。 以下为网络内容: a, b, c 1, 2, 3 1.常规 if a>b: &nb... 相关推荐 2019-11-13 15:13 − if x A: do something for A elif x B: do somethi…

Javascript中最常用的55个经典技巧

1. οncοntextmenu"window.event.returnValuefalse" 将彻底屏蔽鼠标右键<table border οncοntextmenureturn(false)><td>no</table> 可用于Table 2. <body onselectstart"return false"> 取消选取、防止复制 3. οnpaste"…

Reflux系列01:异步操作经验小结

写在前面 在实际项目中&#xff0c;应用往往充斥着大量的异步操作&#xff0c;如ajax请求&#xff0c;定时器等。一旦应用涉及异步操作&#xff0c;代码便会变得复杂起来。在flux体系中&#xff0c;让人困惑的往往有几点&#xff1a; 异步操作应该在actions还是store中进行&…

mysql 存储过程月单拆天单_MySQL之存储过程按月创建表的方法步骤

具体不多说&#xff0c;直接上代码。欢迎一起交流和学习。创建一个按月创建表的存储过程&#xff0c;SQL语句如下:DELIMITER //DROP PROCEDURE IF EXISTS create_table_by_month //CREATE PROCEDURE create_table_by_month()BEGIN#--提前申明变量,后面会用到DECLARE nextMonth …

python转换成c语言_把python转成c

广告关闭 腾讯云11.11云上盛惠 &#xff0c;精选热门产品助力上云&#xff0c;云服务器首年88元起&#xff0c;买的越多返的越多&#xff0c;最高返5000元&#xff01; 推荐使用腾讯云 api 配套的7种常见的编程语言 sdk&#xff0c;已经封装了签名和请求过程&#xff0c;均已开…

开源技术选型手册

目录 第1章 闲话开源社区篇 第2章 Web框架篇 2.1 Struts 2.2 Spring 2.3 Seam 第3章 开源Web服务器 3.1 Apache 3.2 Lighttpd 3.3 Nginx 第4章 应用服务器篇 4.1 JBoss 4.2 Geronimo 4.3 JFox 第5章 开发平台篇&#xff08;IDE&#xff09; 5.1 Eclipse 5.2 NetBeans 第6章 动态…

UVA 1156 - Pixel Shuffle(模拟+置换)

UVA 1156 - Pixel Shuffle 题目链接 题意&#xff1a;依据题目中的变换方式&#xff0c;给定一串变换方式&#xff0c;问须要运行几次才干回复原图像 思路&#xff1a;这题恶心的一比&#xff0c;先模拟求出一次变换后的相应的矩阵&#xff0c;然后对该矩阵求出全部循环长度&am…

java 字体名字_JAVA:获取系统中可用的字体的名字

import java.awt.*;public class GetLocalFontFamily{public static void main(String[] agrs){//获取系统中可用的字体的名字GraphicsEnvironment e GraphicsEnvironment.getLocalGraphicsEnvironment();String[] fontName e.getAvailableFontFamilyNames();for(int i 0; i…

document.getElementsByName 标准

document.getElementsByName w3c 标准中&#xff1a; 是获得name属性获得元素 IE 中&#xff1a;是通过ID属性获得元素转载于:https://www.cnblogs.com/chen-lei/archive/2009/12/29/1635343.html

python逐行写入csv_python将列表按行写入csv

原博文 2020-05-14 13:17 − import csv rows2 [abc1/ab1c,N] for n in range(10): f open("ok.csv", a,newline) writer csv.writer(f) writer.writerow(rows2) f.cl...02349 相关推荐 2019-12-18 14:42 − 逗号分隔值&#xff08;Comma-Separated Values&#x…

怎么和产品沟通

去别的地方以后和产品交流 随意点 都是给公司打工 你背后骂骂没事&#xff0c;当面和气点 恩 以后碰这样的情况 你就答应着 最后做不完&#xff0c;责任也不是你的 做多少是多少呗 就把情况说清楚 说不保证做完 就行 话不说死 产品告不了状 怎么办哦&#xff1f;切记你是没有…

java循环单链表比较相等_java的循环单链表

packageclink;//循环单链表public classTestClink {public static voidmain(String[] args) {//TODO Auto-generated method stubClink t1 newClink();for(int i 0;i<9;i){t1.insertHead(i);}t1.show();int lent1.getlength();System.out.println(len);System.out.println…

第8章4节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-启动 8

这个方法所做的事情就是:446行: 首先通过Device类的executeShellCommand方法发送类似”adb shell getprop”的命令去获得所有支持的系统属性&#xff0c;这个方法最终调用的是AdbHelper类的executeShellCommand方法&#xff0c;它会接收一个专门用来对指定shell命令如getprop的…

新手买车的九大原则

汽车俨然已经成为了人们生活中不可缺少的助手。放眼市场&#xff0c;汽车的品牌、车型、颜色、配置&#xff0c;划分的类别太多太多&#xff0c;让众多爱车友人在购车时眼花缭乱。由于厂家、商家片面的宣传和误导以及购车者思想上或这样或那样的误区&#xff0c;使众人面对购车…

python实现链表的删除_Python垃圾回收机制

python作为一门解释型语言&#xff0c;以代码简洁易懂著称。我们可以直接对名称赋值&#xff0c;而不必声明类型。名称类型的确定、内存空间的分配与释放都是由python解释器在运行时进行的。python这一自动管理内存功能极大的减小了程序员负担,这也是成就python自身的重要原因之…

第一章:The Missing Code Library--2.合法化输入

合法化输入&#xff1a;只允许数字和字母 用户常常会忽略掉说明&#xff0c;并且输入错误的数据。作为一个Shell脚本开发人员&#xff0c;你需要拦截并纠正这些错误。 典型情况是&#xff0c;你或许会遇见文件名或是数据库的键。你提示用户要输入一个全部由大小写字母和数字…

java 缓存清理echo_“kill -9”一时爽,秋后算账泪两行

原创&#xff1a;小姐姐味道(微信公众号ID&#xff1a;xjjdog)&#xff0c;欢迎分享&#xff0c;转载请保留出处。任何不保留此声明的转载都是抄袭。kill是杀死的意思&#xff0c;带有主动的意味。鉴于master、slave这样的名词&#xff0c;需要在计算机软件中进行整改&#xff…

解决stackoverflow打开慢不能注册登录

http://blog.csdn.net/dream_an/article/details/50280977 解决stackoverflow打开慢不能注册登录 标签&#xff1a; stack overflowfirefox扩展打不开 2015-12-13 09:16 131人阅读 评论(2) 收藏 举报 分类&#xff1a;综合&#xff08;6&#xff09; 作者同类文章X版权声明&a…

PerlRegex堆栈溢出的问题

PerlRegex一直用得很顺手&#xff0c;但今天晚上却老是出现堆栈溢出的问题&#xff0c;调整了Delphi 的Max stack size后&#xff0c;仍然解决不了。 后来发现是正则表达式的问题&#xff0c;具体细节问题还不太清楚 我一般使用“((.|\n)?)”来匹配多行文本&#xff0c;而出现…