1.4 调试程序

游戏开发中出现错误是正常的,调试程序发现错误非常重要。本节将介绍调试程序的几种常用方式。

1.4.1 显示Log

在Unity编辑器下方有一个Console窗口,用来显示控制台信息,如果程序出现错误,这里会用红色的字体显示出错误的位置和原因,我们也可以在程序中添加输出到控制台的代码来显示一些调试结果:

        Debug.Log("Hello, world");

运行程序,当执行到Debug.Log代码时,在控制台会对应显示出Hello, world信息,如图1-13所示。

图1-13 显示调试信息

如果将Debug.Log替换为Debug.LogError,控制台显示的文字将呈红色显示。

这些Log内容不仅会在Unity编辑器中出现,在游戏运行中仍然存在,如果是运行到手机上,可以通过工具实时查看,因此对于最后发布的版本要注意控制输出Log的数量。

在Console窗口的右侧选择【Open Editor Log】,会打开编辑器的Log文档,当创建出游戏后,在这个Log文档中会显示出游戏的资源分配情况,如图1-14所示。

图1-14 Log中保存的信息

1.4.2 在Visual Studio中设置断点

在安装Unity时,如果安装了Microsoft Visual Studio Tools for Unity,即可使用Visual Studio调试Unity程序。方法很简单,首先选择代码,按F9键设置断点,然后到Visual Studio的工具栏中选择Attach to Unity and Play,如图1-15所示,Unity编辑器即会在调试状态下运行游戏。

图1-15 在Visual Studio中调试Unity程序

当程序运行至断点设置位置时即会暂停,可以通过Visual Studio提供的工具查看分析程序运行状况,如图1-16所示。按F5键可以继续断点后面的程序,或者按F11、F10键执行单步调试,最后按Shift + F5组合键停止调试。

图1-16 查看程序运行状况

1.4.3 在MonoDevelop中设置断点

Unity自带的Mono脚本编辑器也提供了断点调试功能,使用方法如下:

步骤 01 使用MonoDevelop作为默认的脚本编辑器。在Project窗口中双击C#脚本打开MonoDevelop编辑器。

步骤 02 在代码中按F9键设置断点。

步骤 03 在MonoDevelop的菜单栏中选择【Run】→【Run With】→【Unity Debugger】。

步骤 04 在Unity编辑器中运行游戏,当运行到断点时游戏会自动暂停,这时可以在MonoDevelop中查看调试信息,如图1-17所示。按F5键可以继续断点后面的程序,所有的快捷键与Visual Studio几乎是一样的。

图1-17 利用断点调试