Unity中的Debug类调试使用

转载 2016年04月26日 19:35:20

UnityEngine.Debug:

Class containing methods to ease debugging while developing a game.

该类中包含了一些便于游戏开发时的调试方法。
Class Variables

 isDebugBuild

static var isDebugBuild : boolean

In the Build Settings dialog there is a check box called "Development Build".

在"Build Settings" 对话框中有一个"Development Build"的选项。

If it is checked isDebugBuild will be true. In the editor isDebugBuild always returns true. It is recommended to remove all calls toDebug.Log when deploying a game, this way you can easily deploy beta builds with debug prints and final builds without.  

如果复选框被选择,isDebugBuild则为true。在编辑器中isDebugBuild总是返回true。在游戏发布时,这个命令可以移除所有Debug.Log调用。这样,你就可以轻松地发布带有调试输出的测试版和没有这些调试信息的最终版。

Class Functions

 DrawLine

static function DrawLine (start :Vector3, end :Vector3, color :Color = Color.white, duration : float = 0.0f) : void

Draws a line from the point start to end with color for a duration of time. If duration is 0 then the line is rendered 1 frame.

绘制一条从开始点到结束点的线,需要指定绘线的颜色和持续时间。如果持续时间为0,那么该线只会被渲染1帧。

The line will be drawn in the scene view of the editor. If gizmo drawing is enabled in the game view, the line will also be drawn there.

该线被绘制在编辑器下的Scene窗口中。如果Gimzo绘制方法被开启,那么该线同样会被绘制到Game窗口中。

 DrawRay

static function DrawRay (start :Vector3, dir :Vector3, color :Color = Color.white, duration : float = 0.0f) : void
Draws a line from start to start + dir with color for a duration of time. If duration is 0 then the line is rendered 1 frame.

从开始点绘制一条dir方向和长度的线,需要指定绘线的颜色和持续时间。如果持续时间为0,那么该线只会被渲染1帧。

The line will be drawn in the scene view of the editor. If gizmo drawing is enabled in the game view, the line will also be drawn there.

该线被绘制在编辑器下的Scene窗口中。如果Gimzo绘制方法被开启,那么该线同样会被绘制到Game窗口中。

 Break

static function Break () : void

Pauses the editor.

使编辑器暂停。

This is useful when you want to check certain values on the inspector and you are not able to pause it manually.

当你想在运行到某种情况下游戏自动暂停下来以方便你查看对象属性面板中的值时,这是非常有用的。

 Log

static function Log (message : object) : void

Logs message to the Unity Console.

将日志信息输出到Unity控制台。

static function Log (message : object, context :Object) : void
Logs message to the Unity Console.

将日志信息输出到Unity控制台。

When you select the message in the console a connection to the context object will be drawn. This is very useful if you want know on which object an error occurs.

当你在控制台中选中调试信息时,Unity将绘制一个调试信息与触发对象之间的连接。当你想知道在哪个对象上发送错误时,这是非常有用的。

 LogError

static function LogError (message : object) : void

A variant of Debug.Log that logs an error message to the console.

Debug.Log的一个变种,它将输出一个Erro类型的调试信息到控制台。

static function LogError (message : object, context :Object) : void

A variant of Debug.Log that logs an error message to the console.

Debug.Log的一个变种,它将输出一个Erro类型的调试信息到控制台。

When you select the message in the console a connection to the context object will be drawn. This is very useful if you want know on which object an error occurs.

当你在控制台中选中调试信息时,Unity将绘制一个调试信息与触发对象之间的连接。当你想知道在哪个对象上发送错误时,这是非常有用的。 

 Warning

static function LogWarning (message : object) : void
A variant of
Debug.Log that logs a warning message to the console.

Debug.Log的一个变种,它将输出一个Warning类型的调试信息到控制台。

static function LogWarning (message : object, context : Object) : void

A variant of Debug.Log that logs a warning message to the console.

Debug.Log的一个变种,它将输出一个Warning类型的调试信息到控制台。

When you select the message in the console a connection to the context object will be drawn. This is very useful if you want know on which object a warning occurs.

当你在控制台中选中调试信息时,Unity将绘制一个调试信息与触发对象之间的连接。当你想知道在哪个对象上发送错误时,这是非常有用的。

 

Unity调试方法:

1.安装Unity3D安装包内置的MonoDevelop,MonoDevelop官方下载的版本是没有Unity3D 的调试插件的。

2.打开Unity ,选择Edit –> Preference ,设置外部编辑器为MonoDevelop 。

3.运行MonoDevelop(如果MonoDevelop不能运行,则需要安装 .Net 3.5 ),选择菜单(Tools –> Preference) 打开选项设置窗口,在左边的导航窗口的最后一个节点(Unity –> Debugger),在右边设置Editor Location为正确的位置(即Unity.exe执行文件Path),然后勾选Launch Unity Automatically和Build Project in MonoDevelop ,按OK按钮保存。

4.在Unity Editor的Project窗口点击鼠标右键,在弹出菜单中选择Sync MonoDevelop Project(或者选择菜单栏中的Assets -> Sync MonoDevelop Project),将自动运行MonoDevelop并打开对应的项目。

5.在MonoDevelop中编程、为源代码设置断点(F9),关闭Unity Editor,击调试按钮(F5)开始调试,在自动打开的Unity Editor中点击Play按钮,断点就开始起作用了。

6.MonoDevelop的调试需要完成本帧所有调试才能返回给Unity,即调试中途Unity Scene的信息将不会更新。

 

实例演示:

</pre><pre name="code" class="cpp">using UnityEngine;
using System.Collections;

public class GUITest : MonoBehaviour
{
    int i = 0;
    void OnGUI()
    {
        if (GUI.Button(new Rect(0, 0, 100, 50), "Cliclk"))
        {
            i++;
            Debug.DrawLine(transform.position, transform.position + 5 * Vector3.up, Color.red, 5);
            Debug.DrawLine(transform.position, transform.position + 5 * Vector3.right, Color.green, 5);
            Debug.DrawLine(transform.position, transform.position + 5 * Vector3.forward, Color.blue, 5);
            Debug.LogError("Click", this);
        }
    }
}

Game:
Scene:
MonoDevelop:

原文地址:http://wg2009perfect.blog.163.com/blog/static/127997663201111103951886/

Unity应用发布如何在本地查看Debug输出?

为了方便在Android平台上本地查看Debug输出,可以将Debug输出写入到本地文件中。然后在本地硬件中查看Debug输出。...
  • ZFSR05255134
  • ZFSR05255134
  • 2016年07月09日 17:43
  • 3644

【unity小技巧之一】使Debug.Log支持颜色等富文本信息

Unity的Debug.Log本身是支持rich text富文本的,像这样 很简单,只需要在输出文本的时候写好富文本样式即可,操作如下: Debug.Log ("微博搜索"+"" +" 我是鱼蛋啊...
  • egostudio
  • egostudio
  • 2016年03月31日 17:14
  • 5895

MonoDevelop 调试 Unity3D项目 告别Debug.log()

Unity3D 是一个基于 Mono 的跨平台游戏引擎,支持 PC 、MAC 、 Android 、IOS 等多种平台,其 3.0 以后的版本支持用  MonoDevelop 调试,很多人安装了之后发...
  • tammy520
  • tammy520
  • 2012年04月13日 11:27
  • 14863

Unity中Debug的用法

UnityEngine.Debug: Class containing methods to ease debugging while developing a game. 该类中...
  • xiaoruanzhu
  • xiaoruanzhu
  • 2017年12月20日 17:21
  • 106

【Unity3D游戏开发】之定制Debug.log输出 (八)

环境:Unity开发时会有很多的Debug.log输出测试 问题:最后游戏发布的时候,不希望在Produce发布环境也输出大量的日志,官方目前也没有正统的做法。 解决方法1: 重新封装 将Debu...
  • teng_ontheway
  • teng_ontheway
  • 2015年07月27日 21:54
  • 12267

在Unity中Debug.log和Print的区别

一直在做Unity出现Bug是避免不了的事情,现在出现Bug时想都不用想,先Debug打印一下,看看有没有进去方法,但是前段时间接了一个sdk,发现有个print这个关键词,发现也能打印,而且和Deb...
  • Superficialtise
  • Superficialtise
  • 2017年05月15日 15:37
  • 1857

如何利用vs2012 debug unity3d

Visual Studio可算是世上最强大的IDE了,最近需要用Unity3D开发2D的游戏,算是做个老虎机(Slot Machine)的小demo来调研Unity3D对于我们项目组的适用性。 ...
  • hxmxbox
  • hxmxbox
  • 2014年09月26日 17:00
  • 1382

Unity 输出调试信息到界面

Unity里自带的Debug输出信息的功能非常好用, 但是在实机上不那么好用了, 不能直观的看见输出的信息. 这时就使用把信息输出到界面上的方法. 特别是给非开发人员看的时候就非常方便了,下面这样: ...
  • abcdtty
  • abcdtty
  • 2014年01月29日 13:52
  • 3775

【Unity基础知识②】创建C#脚本、Debug.log输出语句

【本文为囧希博客个人原创文章,转载请注明出处!http://blog.csdn.net/yunpro】 【Unity新建cs文件】 1、在工程面板新建文件夹——code——Scri...
  • YunPro
  • YunPro
  • 2015年03月05日 13:59
  • 2921

【Unity】game窗口调试Debug

新建一个 GameObject 把脚本拖上去  using System.Collections; using System.Collections.Generic; using Unity...
  • ldy597321444
  • ldy597321444
  • 2017年06月20日 09:55
  • 801
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Unity中的Debug类调试使用
举报原因:
原因补充:

(最多只允许输入30个字)