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-学习-021】异步实现HTTP请求

    对Http访问操作 Unity中一般使用协程操作 但是协程有一个比较要命的要求就是所在Mono必须在场景中是激活的 所以一些操作就会被限制 所以我们就找办法替代掉协程做一些异步的操作 那就用异步方法 首先扩展一下AsyncOperation
  • Unity3D Engine Architecture

    原文 http www umingo de doku php id paper mechs and tanks section03 Architecture To better understand the game s software
  • unity粒子特效附上贴图后播放动画

    转自 http jingyan baidu com article f96699bbb1a0d6894f3c1b77 html 参考 http www unitymanual com thread 2993 1 1 html dsign a
  • Unity3D 官方文档 平台特殊化之Standalone和多显示器的处理

    版本 unity 5 6 语言 C 总起 Standalone 我一眼看下去的理解就是PC机平台 官方文档中说该平台指的是Mac Windows和Linux 这篇文章主要讲的是Standalone平台下的设置 通过点击菜单栏的File gt
  • Unity3D之Rigidbody

    目录 常用的Rigidbody属性和方法 rigidbody AddForce rigidbody AddTorque rigidbody velocity rigidbody angularVelocity rigidbody Sleep
  • COCOS2DX学习之Box2D物理引擎-------物体和相互作用

    1 创建一个静态物体 创建一个静态物体应该很简单 在头文件生命一下要创建新物体的函数 然后在cpp文件中实现它即可 具体的时候先过程 首先要用createbody函数创建一个物体 然后定义一个b2bodydef变量 指定一下这个变量的typ
  • Unity打包WebGL的优化常用操作?

    1 贴图部分优化 如果贴图格式时2048 在不影响画面效果的情况下 改成1024或者5 12 还可以缩小包体 2 压缩和解压缩问题 WebGL打包的时候分三种压缩情况 gzip 比Brotli文件打 但打包快 http和https都支持 B
  • Mecanim Any State

    Any State表示任意状态 任意状态是 一个一直存在的特殊状态 他的存在是为了保证你在无意转移至某个你当前正处于的特殊状态而准备的 为你的状态机中的每个状态设置相同的对外转移是一个快捷的方式 假如有Walk Run Fly Die这四个
  • Unity3D的四种坐标系

    1 World Space 世界坐标 我们在场景中添加物体 如 Cube 他们都是以世界坐标显示在场景中的 transform position可以获得该位置坐标 2 Screen Space 屏幕坐标 以像素来定义的 以屏幕的左下角为 0
  • Cocos2d-x android无法解析cocos2dx库

    我从 macOS xcode 4 5 开始 我尝试过教程 使用cocos2dx完成macOSX的构建 问题发生在android源中 没有描述cocos2dxActivity的内容 所以 org cocos2dx lib不是其他文件 安卓没有
  • 暂停时快速高斯模糊[关闭]

    Closed 这个问题需要调试细节 目前不接受答案 In cocos2d x我需要实现快速高斯模糊 它应该是这样的 我刚刚在 App Store 上发现了一些游戏 已经统一完成了这样的模糊 所以 这很好fadeIn fadeOut当用户暂停
  • 序列化 CDT 项目设置时遇到了

    当我构建项目时 我收到此错误 Serializing CDT Project settings has encountered a problem Null Pointer Exception 我正在使用最新的 eclipse 并尝试为 A
  • ios 在“确认您的应用内购买”对话框中显示不同的价格

    为 iOS 应用添加应用内购买 我可以成功购买该产品 但 确认您的应用内购买 对话框始终显示与我格式化的本地化价格相比的额外价格 示例 产品的本地化价格为 39 99 欧元 但在确认对话框中 产品的价格增加到 41 73 欧元 预先感谢您提
  • Cocos2D-x 3.0 中图元和精灵的 Z 索引不一致?

    我有两层 每个图层都有一个使用 OpenGL 进行的原始绘图 如下所示 void Layer1 drawPolygon glLineWidth 1 DrawPrimitives setDrawColor4B 255 255 255 255
  • 如何创建android cocos2dx启动画面?

    这是我的代码 我不知道如何创建启动屏幕以及它将如何直接显示在我的菜单屏幕中 所有 h必须连接到BaseScreen 并且BaseScreen将是cocos2d层中连接的那个 请帮助我的代码 唯一出现在我的模拟器中的是我在 HelloWorl
  • 如何在Cocos2d-X中交换CCSprite对象中的精灵

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

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我是 Cocos2d x 的新手 我需要为 Cocos2d x iOS 游戏 CPP 创建 InAppPurchase 任何人都可以帮助我
  • 检查动画是否在 cocos2d-x 中运行

    我目前正在学习cocos2D x并正在做一些精灵动画 我的目标是 当单击按钮时 对象会向左移动并带有一些动画 现在 如果您快速单击多次 动画就会立即发生 看起来熊正在希望而不是行走 解决方案看起来很简单 我应该检查动画是否已经在运行以及是否
  • Cocos2d-x:可以使用HTML(UIWebView)吗?

    我正在尝试cocos2d x现在我可以为 Android 构建 Javascript 示例并在浏览器中运行它们 现在我想创建自己的游戏 但由于有 HTML 背景 我宁愿使用 HTML 标签和 CSS 也不愿使用 Javascript 来设置
  • 如何使用 Cygwin 打开 RTTI?

    当我的Android NDK C 本机代码编译时 出现以下错误 错误 fno rtti 不允许使用 dynamic cast 有人告诉我打开RTTI 但我不知道该怎么做 我需要修改吗Application mk或者是什么 my Applic

随机推荐

  • 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和