zoukankan      html  css  js  c++  java
  • 最近用到的一个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);
            }
        }

  • 相关阅读:
    洛谷P2661: 信息传递(图的遍历)
    洛谷P1305: 新二叉树
    洛谷 P1030 :求先序排列
    POJ 3041:Asteroids(二分图最大匹配)
    洛谷P2774 :方格取数问题( 网络流24题 奇偶建图+最小割)
    hdu 3061:Battle(最大权闭合图)
    hdu 1532:Drainage Ditches(Dinic算法)
    洛谷P1345: [USACO5.4]奶牛的电信Telecowmunication(拆点+最小割)
    hihoCoder1121 : 二分图一•二分图判定
    (转载)javascript客户端生成MD5值的函数代码
  • 原文地址:https://www.cnblogs.com/TianFang/p/2497278.html
Copyright © 2011-2022 走看看