码迷,mamicode.com
首页 > 编程语言 > 详细

Unity 调试Log文字显示更新清晰

时间:2015-08-21 21:09:27      阅读:304      评论:0      收藏:0      [点我收藏+]

标签:

调试是我们程序员最基本的技能之一, 当我们自己变得浮躁某一些限制之后.我们就开始放弃编写调试机制,来短时间获取结果.

一个小故事: 刚刚入职游戏行业的我来到一家中型游戏开发公司,当时心非常激动可以在这里学习到很多东西,比如团队的配合,框架的搭建等等.=。=入职第2周几乎老程序员都离职了,最后留下的程序员在职不超过5个月。 当时把我吓哭了,导致程序员集体离职有很多原因, 有的工资开少了,有的项目拖的时间太长了。 听说我们项目开发快3年了。  我被分配到去做IOS打包和接SDK,我发现了项目居然有这么一个事情。 就是Unity Mac上点击运行 是无法运行的, 必须发包到手机上面去才可以. 项目总监给我解释只能在手机上跑,Mac电脑上面我还没有帮你们调通。 这句话导致我和主城半小时能解决的问题, 搞了1个星期而且还是勉强修复了一些BUG。 =.= 我只能偷偷的笑了,你这么搞一下让我们怎么调试程序? 而且我们居然是先去修复BUG, 连游戏无法在Mac跑起来这个Bug居然都是后面修复。总监也不怎么样嘛

回到我们的问题,我想告诉大家如何在Debug.Log()加一些小技巧让我们能快速定位到错误, 并且能让不熟悉项目的人知道是那个人负责的东西出错了.

我们常常利用Debug.log()在控制台上显示一些信息帮助我们查看错误

列子:

Debug.Log("资源加载完毕");
Debug.Log("显示购买窗口页面");
Debug.Log("我运行了");            //这个无效Log一般我喜欢这样做呵呵,吃屎啦

在某种角度上这些文字是没有错误的, 但是假设A发现游戏运行不起来了,  “资源加载出错” 这种模糊的文字. 如果A不是开发资源加载的他是无法定位的具体那个位置的。

优化之后的Log第一方式:

Debug.Log("资源模块-加载资源出错误" );
Debug.Log("资源模块-主角贴图没有找到" );

 

第二方式: (当然我不知道Xcode 和 EclipseLog是否能直接看到具体是那个类,函数报出来的错误,一般这种我们都是显示到自己的GUI调试中心当中)

Debug.Log("类名-函数名-log内容");

 

第三方式:

Debug.Log("模块名-类名-函数名-log内容");

 

二、如何捕捉Debug.Log()的文字

Application类中提供一个回调函数每当Debug.Log的时候就会触发

注册回调函数: Application.RegisterLogCallback(LogCallback);

public void LogCallback(string condition, string stackTrace, LogType type)
    {

        switch (type)
        {
            case LogType.Log:
                //普通Log
                break;
            case LogType.Exception:
                 //报异常了
                break;
            case LogType.Error:
                //错误信息
                break;
            case LogType.Warning:
                //Warning信息
                break;
            default:
                break;
        }
    }

Unity 调试Log文字显示更新清晰

标签:

原文地址:http://www.cnblogs.com/plateFace/p/4748896.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!