• 最近用到的一个Debug类


    这个是我最近写的一个记录调试信息的类,基本功能和以前写过的UdpTraceListener类似:通过UDP数据报文发送调试信息发送出去。为了方便调试,增加了颜色和一些简单的指令功能。感觉还比较方便,这里记录一下,以备后续使用。

        static class Debug
        {
            static UdpClient client;
            static Debug()
            {
                client = new UdpClient();
                client.Connect(new IPEndPoint(IPAddress.Loopback, 3001));

                Clear();
            }

            public static void Write(ConsoleColor color, object obj)
            {
                Write(color, obj.ToString());
            }

            [MethodImpl(MethodImplOptions.Synchronized)]
            public static void Write(ConsoleColor color, string message)
            {
                if (message == null)
                    return;

                var dbgMsg = message;
                if (dbgMsg.Length > 80)
                    dbgMsg = dbgMsg.Substring(0, 70) + "..." + Environment.NewLine;

                Console.ForegroundColor = color;
                Console.Write(dbgMsg);

                SendCmd(0xff, (byte)color);
                SendMsg(message);
            }

            public static void WriteLine(ConsoleColor color, object obj)
            {
                if (obj == null)
                    return;

                WriteLine(color, obj.ToString());
            }

            public static void WriteLine(ConsoleColor color, string message)
            {
                Write(color, message + Environment.NewLine);
            }

            public static void Clear()
            {
                Console.Clear();
                SendCmd(0xfe, 0);
            }

            static void SendCmd(byte cmdType, byte cmdInfo)
            {
                client.Send(new byte[] { cmdType, cmdInfo }, 2);
            }

            static void SendMsg(string msg)
            {
                var data = Encoding.Default.GetBytes(msg);
                client.Send(data, data.Length);
            }
        }

  • 相关阅读:
    keyCode的使用
    写自已的类库需要的核心代码
    50个必备的实用jQuery代码段
    javascript基础
    给js原生Array增加each方法
    jquery中一些容易让人困惑的东西总结[转载]
    ajax编程
    oracle的正则表达式 [转载]
    eclipse 插件大全
    SlickGrid Options
  • 原文地址:https://www.cnblogs.com/TianFang/p/2497278.html
Copyright © 2020-2023  润新知