版本:Unity 6 (6000.0)
语言:英语
在 Unity 中调试 C# 代码
日志文件参考

Debug 类

切换到脚本

Debug 类允许您在编辑器中可视化信息,这些信息可能有助于您了解或调查项目运行期间发生的情况。例如,您可以使用它将消息打印到控制台窗口,在场景场景包含游戏环境和菜单。可以将每个唯一的场景文件视为一个独特的关卡。在每个场景中,您放置环境、障碍物和装饰,从本质上讲,将游戏分块设计和构建。 更多信息
参见 术语表
视图和游戏视图中绘制可视化线,以及从脚本暂停编辑器中的播放模式。

此页面提供了 Debug 类的概述及其在使用脚本时的常见用法。有关 Debug 类每个成员的详尽参考,请参阅Debug 脚本参考

记录错误、警告和消息

Unity 本身有时会将错误、警告和消息记录到控制台窗口。Debug 类使您能够从自己的代码中执行完全相同的操作,如下所示

Debug.Log("This is a log message.");
Debug.LogWarning("This is a warning message!");
Debug.LogError("This is an error message!");

这三种类型(错误、警告和消息)在控制台窗口中分别具有自己的图标类型。

写入控制台窗口的所有内容(由 Unity 或您自己的代码)也会写入日志文件

如果在控制台中启用了错误暂停,则您通过 Debug 类写入控制台的任何错误都将导致 Unity 的播放模式暂停。

您还可以选择性地为这些日志方法提供第二个参数,以指示该消息与特定的游戏对象Unity 场景中的基本对象,可以表示角色、道具、场景、摄像机、路径点等。游戏对象的功用由附加在其上的组件定义。 更多信息
参见 术语表
相关联,如下所示

using UnityEngine;

public class DebugExample : MonoBehaviour
{    void Start()
    {
        Debug.LogWarning("I come in peace!", this.gameObject);
    }
}

这样做的好处是,当您在控制台中单击该消息时,与该消息关联的游戏对象将在层次结构中突出显示,从而使您能够识别该消息与哪个游戏对象相关。在下图中,您可以看到单击“我怀着和平而来!”警告消息会突出显示“外星人 (8)”游戏对象。

Debug 类还提供了两种在场景视图对您正在创建的世界进行交互式查看。您可以使用场景视图来选择和放置场景、角色、摄像机、灯光以及所有其他类型的游戏对象。 更多信息
参见 术语表
和游戏视图中绘制线条的方法。它们是DrawLineDrawRay

在此示例中,一个脚本已添加到场景中的每个球体游戏对象,该脚本使用 Debug.DrawLine 指示其与 Y 等于零的平面之间的垂直距离。请注意,此示例中的最后一个参数是线条在编辑器中保持可见的持续时间(以秒为单位)。

using UnityEngine;

public class DebugLineExample : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        float height = transform.position.y;
        Debug.DrawLine(transform.position, transform.position - Vector3.up * height, Color.magenta, 4);
    }
}

场景视图中的结果如下所示

其他资源

在 Unity 中调试 C# 代码
日志文件参考