Unity3D的断点调试功能

2023-11-09

Unity3D的断点调试功能  

2013-03-14 16:27:51|  分类: Unity教程 |  标签:unity  monodevelop  断点调试  debug  |举报|字号 订阅

        断点调试功能可谓是程序员必备的功能了。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上去,进行调试就行了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity3D的断点调试功能 的相关文章

  • 闲云:unity中不能识别monobehevior关键字的问题

    有时候一些小问题很恼人 如unity中新建脚本后不能识别monobehevior关键字 在vs2017右侧的解决方案中点击刷新图标 或者把不能识别的脚本添加到vs2017右侧的解决方案中的Assets中即可 还不行就点击 排除 然后再 添加
  • Unity 音频卡顿 静帧 等待等问题的解决方案

    是否遇到过在Unity中加载音频文件卡顿 也就是画面卡住 的现象 特别是加载外部音频文件时 虽然时间很短 但这终归不是什么好现象 尤其是打游戏的话 影响很大 但是一些有牌面的Boss也不能不配音乐 当然也可以通过其它方式解决 比如特定条件统
  • 【Unity灯光与渲染技术】Global Illumination全局光照

    本系列主要参考Unity灯光与渲染技术教程Unity Lighting And Rendering 同时会加上一点个人实践过程和理解 分割线 这篇文章主要讲全局光照 在看教程的时候就有一个点不是很理解 就是作者开启物体的static这个选项
  • Unity3D如何修改Button显示的文字以及深入了解Button组件

    在创建了一个Button后 结构如图 先仔细观察一下Button的Inspector视图 发现其中竟然有一个叫Button的脚本组件 新建脚本 代码如下 并将该脚本绑定给Canvas组件 using UnityEngine UI using
  • [3dsMax]2018版下拉菜单项的子菜单无法选中

    软件自身问题 安装更新补丁即可解决 不想更新补丁也可以使用键盘的方向键进行选中 补丁百度云链接 https pan baidu com s 1LDxRFwQnR0GSONuz7wcEfA 提取码 6gpk
  • unity的LOD组件

    本文转载自http blog csdn net huutu article details 52106468 LOD是Level Of Detais 的简称 多细节层次 在游戏场景中 根据摄像机与模型的距离 来决定显示哪一个模型 一般距离近
  • Unity中UI组件

    一 Canvers 画布组件 Canvers下面是添加Button和Image组件 Rect Transform 1 Position 坐标位置 2 Width Height 高宽尺寸 3 Anchors 锚点 4 Pivot中心点 即UI
  • Unity3d获得android和ios设备的唯一标识

    android为mac地址 ios为advertisingIdentifier 函数都比较简单 网上也搜得到 我也就不多说了 主要是对于我们没做过安卓和IOS开发的人来说 整合进工程有各种的问题 我也就直接上网盘了点击打开链接 代码包里看得
  • java中Keytool的使用总结

    java中Keytool的使用总结 2011 02 26 15 30 15 分类 在申请Android Map API Key的时候使用到了java中Keytool 下面转一篇介绍java中Keytool的文章 http blog csdn
  • 序列化 CDT 项目设置时遇到了

    当我构建项目时 我收到此错误 Serializing CDT Project settings has encountered a problem Null Pointer Exception 我正在使用最新的 eclipse 并尝试为 A
  • unity dots jobSystem 记录

    Looking for a way to get started writing safe multithreaded code Learn the principles behind our Job System and how it w
  • COCOS2D-X:比例精灵

    我想按原始图像的高度设置精灵的比例 然后该精灵的宽度将遵循该图像的原始比例 我怎样才能做到这一点 感谢您的所有帮助 CCSprite有一个成员函数 virtual void setScale float scale 参考 setScale
  • ios 在“确认您的应用内购买”对话框中显示不同的价格

    为 iOS 应用添加应用内购买 我可以成功购买该产品 但 确认您的应用内购买 对话框始终显示与我格式化的本地化价格相比的额外价格 示例 产品的本地化价格为 39 99 欧元 但在确认对话框中 产品的价格增加到 41 73 欧元 预先感谢您提
  • Cocos2dx Android 构建错误:“arm-linux-androideabi-g++:没有这样的文件或目录”

    我下载了最新的cocos2dx 3 10 和NDK r11 我执行的时候出现以下错误cocos compile p android android studio Error AndroidDev android ndk r11 toolch
  • 如何在Cocos2d-X中交换CCSprite对象中的精灵

    我有一个从 CCSprite 继承的对象 我想从这个对象内部改变图像 如何在 Cocos2d X 中更改图像 精灵 而不创建新的 CCSprite 对象 谢谢 阿德里安 mySprite gt setTexture CCTextureCac
  • Android 游戏的 Cocos2d-x 与 cocos2d-android

    在我的一个项目中使用 cocos2d iphone 后 我试图决定应该在 Android 游戏中使用哪种风格的 Cocos2d 我个人的优点和缺点清单 Cocos2d x pros 稍后将游戏带到 iOS 上应该会更容易 其他平台也可能如此
  • 如何制作双向平台box2d主体?

    我使用 box2d 创建了平台 我想要 box2d 身体检测而不是动态检测 Box2d 形状将执行以下操作 在某些条件下检测碰撞 在某些情况下不检测碰撞 两种条件都适用于同一 box2d 对象中的不同条件 任何想法都会有很大帮助 提前致谢
  • Cocos2d-x - 如何将CCLayer的一部分设置为透明?

    我是新手cocos2d x我需要你的帮助 我需要使图层的触摸部分透明 如何使图层的一部分透明 我曾想过使用 ClippingNode 但我找不到示例或文档 我使用C 谢谢 在所有cocos2d x版本中添加的TestCpp项目中 您可以找到
  • [cocos2d-x]当我尝试在 Windows 10 中运行“python android-build.py -p 19 cpp-tests”时出现错误

    当我尝试运行命令时python android build p cpp tests 我收到如图所示的错误 在此之前 我收到了另一条关于 Android SDK Tools 版本兼容性的错误消息 所以 我只是将 sdk 版本从 26 0 0
  • 未解决的包含:“cocos2d.h” - Cocos2dx

    当我在 Eclipse 中导入 cocos2dx android 项目时 我的头文件上收到此警告 Unresolved inclusion cocos2d h 为什么是这样 它实际上困扰着我 该项目可以正确编译并运行 但我希望这种情况消失

随机推荐

  • Leetcode1333.餐厅过滤器——使用stream流

    文章目录 引入 本题题解 后记 int Integer List的互相转化 引入 在上周周赛中 有这么一道题 1333 餐厅过滤器 给你一个餐馆信息数组 restaurants 其中 restaurants i idi ratingi ve
  • Java远程调试原理与运用

    Java远程调试的原理是两个VM之间通过debug协议进行通信 然后以达到远程调试的目的 两者之间可以通过socket进行通信 首先被debug程序的虚拟机在启动时要开启debug模式 启动debug监听程序 jdwp是Java Debug
  • c语言——链表——多项式相加

    例题详解 一个多项式可以表示为二元组序列 a1 e1 a2 e2 an en 其中ai表示第i项的系数 非零值 ei表示第i项的指数 编写函数建立多项式链表实现一个多项式的输入 按指数从高到低有序 返回链表的头指针 3 编写函数实现两个多项
  • 【Kaggle】关于Kaggle永久保存Output & 如何关闭页面后在Kaggle后台运行程序的问题

    其实在创建一个notebook的时候上面的说明的代码已经讲到了 需要创建一个new version才能永久保存Output结果 否则就是临时保存 关掉页面就会删除 This Python 3 environment comes with m
  • 2023mothercup妈妈杯数学建模挑战赛思路

    先占坑 本人于2019年开始接触数学建模 参加了大大小小几十场数学建模比赛 本次mothercup也会持续陪跑 为大家提供免费的文字思路和视频思路 后续还有代码和参考文章等 2023年Mathorcup数学建模竞赛A题 比赛开始后第一时间更
  • swift:使用cocoapods引入Alamofire

    1 打开终端 Terminal 安装cocoapods 回车运行 抛出如下的异常 上网查了一下 这是墙外的网站 我们墙内的访问不了 这时候我们就要更换cocoapods的来源 如果gem的版本太旧 就执行如下命令更新一下gem 以下是更新成
  • vue router-view使用详解

    这里写目录标题 一 介绍 二 使用方法 1 实现效果 2 代码 一 介绍 router view组件作为vue最核心的路由管理组件 在项目中作为路由管理经常被使用到 vue项目最核心的App vue文件中即是通过router view进行路
  • 设置Tomcat默认访问路径

    步骤 1 打开server xml 在的上一行添加内容格式如下
  • 电脑关机一段时间后不能网络唤醒WOL

    一直以来 想实现远程开机的功能 后来经过NAT 花生壳DDNS的设置 可以通过一台常年开机的主机 来控制其他机器的开关机 但新的问题来了 就是电脑关机一段时间后不能网络唤醒WOL 按照网上教程 关闭了网卡的环保选项 在主板里也设置了WOL相
  • UE4_C++访问蓝图里的变量

    有没有碰到这样的问题 之前的同事用 连连看 实现了项目的逻辑 后续你要维护推展项目的开发 但头疼的是 你是个coder not 连连看 玩家 这时候how to do it UE4 C 访问蓝图里的变量 c 获得BP的方式 在访问蓝图变量之
  • GTest基础学习-04-第3个单元测试-测试夹具test fixture

    这篇来学习一下Gtest中更高级一些的特性test fixture 测试夹具的基本上使用 什么的场景需要使用到测试夹具呢 测试夹具是哪个宏 这篇来学习这个主题 1 什么叫test fixture 什么是测试夹具 这个概念在任何xUnit系列
  • 工厂车间设备智能化管理系统软件

    工厂车间设备智能化管理系统软件 在面对疫情这样的严峻挑战下 制造业企业和工厂开始走向精细化和智能化的管理模式 如今有不少的工厂采用智能化的管理模式 统筹人事 客户 采购 订单 车间 物料 仓储 工艺等板块 而这样的一款智能工厂管理系统 应该
  • C++:这门语言优势在哪?命名空间以及缺省参数?

    文章目录 C 的优势 解决命名空间的问题 缺省参数 C 的优势 C 和C语言比起来有许多优势 这里我们先举一个例子 后续进行补充 解决命名空间的问题 首先看这样的代码 include
  • docker ubuntu 使用apt安装vim--报错Unable to locate package vim

    docker ubuntu 安装vim 报错Unable to locate package vim 前言 想修改从vulhub拉取运行的docker容器里的配置文件 使用vim时报错bash vim command not found 发
  • nest:[TypeOrmModule] Unable to connect to the database. Retrying

    有可能是刚开机的时候 mysql服务还没有开启导致的
  • 百度 AI Studio——《高层API助你快速上手深度学习》课程学习1

    百度 AI Studio 高层API助你快速上手深度学习 课程学习1 该系列文章系个人读书笔记及总结性内容 任何组织和个人不得转载进行商业活动 相关链接 飞桨 飞桨开源框架 PaddlePaddle 是一个易用 高效 灵活 可扩展的深度学习
  • c++学生信息管理系统(window控制台实现鼠标点击操作)

    翻起大一时写过的作业代码 一个学生信息管理系统 当时不会使用QT 不会MFC等库 只会c 但是又想做一个有界面的 能够实现鼠标操作的程序 于是绞尽脑汁查资料 自己造轮子 最终写出来了下面的这个现在连我自己也看不懂的代码 代码虽然有些长 单文
  • 图书管理系统服务器,图书管理系统的服务器

    图书管理系统的服务器 内容精选 换一换 eBackup备份管理系统支持对VMware环境下虚拟机的保护 您需要在系统中增加VMware受保护环境 从而对受保护环境中的虚拟机进行备份和恢复 增加VMware受保护环境时 如果虚拟机名称中包含
  • 回文序列

    题目描述 如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列 例如 1 2 1 15 78 78 15 112 是回文序列 1 2 2 15 78 87 51 112 2 11 不是回文序列 现在给出一个数字序列 允许使用
  • Unity3D的断点调试功能

    Unity3D的断点调试功能 2013 03 14 16 27 51 分类 Unity教程 标签 unity monodevelop 断点调试 debug 举报 字号 订阅 断点调试功能可谓是程序员必备的功能了 Unity3D支持编写js和