01_Ferramenta de depuração remota do Unity (MxDebug)

1. Tela de efeito 

Endereço da estação B: Portal

Função de depuração remota Unity

2. Introdução

MxDebug  é uma ferramenta de gerenciamento de diário de plataforma cruzada e   um submódulo do framework MXFramework . Não é necessário conectar o cabo USB para a saída de todos os níveis de informação do Unity Log. Todo o módulo é desacoplado, de baixa intrusão e fácil de usar, podendo ser integrado ao projeto desenvolvido com apenas uma API. Ele pode ser removido a qualquer momento quando não for necessário. Toda a interface de IU é basicamente igual à interface de IU do "Console" do Unity. As ferramentas são divididas em recebimento e entrada. A extremidade receptora foi desenvolvida para fornecer o código-fonte e a extremidade de entrada é integrada ao seu projeto existente.Apenas uma frase do código produzirá seu projeto original (Depurar e Imprimir e informações de exceção). Você também pode desligar todas as saídas de diário para salvar o desempenho.

                                                                                          (Interface UI do MxDebug) 

 

、 、 API

1. Ative a função de depuração (é ativada por padrão, é recomendável desativá-la quando for lançada oficialmente)

public static void OpenDebug () {}

A função é ativada por padrão, e as informações de registro de todos os níveis do Unity serão inseridas

2. Desligue a função de depuração (é recomendado desligar todas as saídas do diário quando o projeto for lançado oficialmente)

public static void CloseDebug () {}

Esta função é desligar todas as saídas de log do Unity e todos os níveis de informação de log.É recomendado desligar todas as saídas de log quando o projeto for lançado oficialmente para salvar o desempenho.

3. Depuração remota

public static void RemoteDebug () {} 

Esta função é usada para depuração remota do projeto. Todas as informações de registro serão enviadas para a ferramenta de depuração do computador (extremidade de recepção) por meio do protocolo UDP. Isso não precisa ser conectado ao cabo USB e pode ser visualizado sem comandos ADB e software Xcode. registro. Quando ocorrer uma exceção ou erro no aplicativo, ele salvará uma mensagem de erro de formato txt no local de acordo com a hora, e registrará detalhadamente o motivo, a hora e o tipo da exceção ou erro ocorrido.

 

Três, como integrar 

1. Acesse GitHub para baixar a   ferramenta MxDebug e importe MxDebug / Tool / Debug.unitypackage (terminal de entrada) para seu projeto

2. Ligue ou desligue todas as funções de saída de diário (o código é o seguinte)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Mx.Log;
using UnityEngine.UI;

namespace Mx.Example
{
    /// <summary>测试打开或者关闭全部日记输出功能</summary>
    public class TestCloseLog : MonoBehaviour
    {
        private Text m_ButtonText;
        private bool m_IsOpenDebug = true;

        private void Awake()
        {
            m_ButtonText = GameObject.Find("Button/Text").GetComponent<Text>();

            InvokeRepeating("PrintLog", 0.2f, 0.2f);
        }

        public void OpenOrCloseLog()
        {
            m_IsOpenDebug = !m_IsOpenDebug;

            if(m_IsOpenDebug)
            {
                DebugManager.Instance.OpenDebug();
                m_ButtonText.text = "关闭日记输出";
            }
            else
            {
                DebugManager.Instance.CloseDebug();
                m_ButtonText.text = "打开日记输出";
            }
        }

        private void PrintLog()
        {
            int index1 = Random.Range(0, 3);
            int index2 = Random.Range(0, 10);

            if (index1 == 0)
            {
                Debug.Log(GetType() + "/PrintLog()/" + "请前往RemoteDebug工具查看Logo" + index2);
            }
            else if (index1 == 1)
            {
                Debug.LogWarning(GetType() + "/PrintLog()/" + "请前往RemoteDebug工具查看Logo" + index2);
            }
            else
            {
                Debug.LogError(GetType() + "/PrintLog()/" + "请前往RemoteDebug工具查看Logo" + index2);
            }
        }
    }
}

3. Função de depuração remota (o código é o seguinte)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Mx.Log;

namespace Mx.Example
{
    /// <summary>测试远程调试功能</summary>
    public class TestRemoteDebug : MonoBehaviour
    {
        private void Awake()
        {
            DebugManager.Instance.RemoteDebug();
           

            InvokeRepeating("PrintLog", 0.2f, 0.2f);
        }

        private void PrintLog()
        {
            int index1 = Random.Range(0, 3);
            int index2 = Random.Range(0, 10);

            if (index1 == 0)
            {
                Debug.Log(GetType() + "/PrintLog()/" + "请前往RemoteDebug工具查看Logo" + index2);
            }
            else if (index1 == 1)
            {
                Debug.LogWarning(GetType() + "/PrintLog()/" + "请前往RemoteDebug工具查看Logo" + index2);
            }
            else
            {
                Debug.LogError(GetType() + "/PrintLog()/" + "请前往RemoteDebug工具查看Logo" + index2);
            }
        }
    }
}

4. O receptor sob o diretório MxDebug / Assets é todo código C #, você pode publicá-lo como um arquivo exe ou outras plataformas. Também pode ser um desenvolvimento secundário

 

Endereço de origem: https://github.com/yongliangchen/MxDebug  

Tutorial em vídeo: https://www.bilibili.com/video/BV1sK411A7Bd

Grupo de troca QQ: 1079467433 

Acho que você gosta

Origin blog.csdn.net/a451319296/article/details/108985330
Recomendado
Clasificación