Esempio n. 1
0
 static void Main()
 {
     TTrace.Options.SendMode = SendMode.WinMsg;
     TTrace.Debug.Send("console framework 4.6.1 win msg", TTrace.Debug.GetType().Assembly.Location);
     TTrace.Flush();
     TTrace.Stop();
 }
Esempio n. 2
0
        void Close()
        {
#if DEBUG || DEVELOP
            TTrace.Flush();
            TTrace.Stop();
#endif
        }
Esempio n. 3
0
 static void Main()
 {
     TTrace.Options.SocketHost = "127.0.0.1";
     TTrace.Options.SocketPort = 8090;
     TTrace.Debug.Send("Console net Core 1.1", TTrace.Debug.GetType().GetTypeInfo().Assembly.Location);
     TTrace.Flush();
     TTrace.Stop();
 }
Esempio n. 4
0
        } // SendMessageToSocket function

        //------------------------------------------------------------------------------

        /// <summary>
        /// Stop the plugin
        /// </summary>
        public void Stop()
        {
            //lowTrace("        WebSockPlugin Stop\n") ;
            //PlugTraces.Debug.Send("Websock Plugin stopped");
            server.Dispose();
            server = null;
            TTrace.Flush();
        }
Esempio n. 5
0
        /// <inheritdoc/>
        public void ClearAll()
        {
            if (!IsEnabled)
            {
                return;
            }

            TTrace.ClearAll();

            ClearWatchWindows();
        }
Esempio n. 6
0
        static void Main()
        {
            TTrace.Options.SendMode = SendMode.WinMsg;
            TTrace.Debug.Send("Console Core 2.0 win msg", TTrace.Debug.GetType().Assembly.Location);

            //TTrace.Options.SocketHost = "127.0.0.1" ;
            //TTrace.Options.SocketPort = 8090 ;
            //TTrace.Debug.Send("Console core socket") ;
            TTrace.Flush();
            TTrace.Stop();
        }
Esempio n. 7
0
        //------------------------------------------------------------------------------


        private void butSearch_Click(object sender, RoutedEventArgs e)
        {
            // ttrace.WinTrace.GotoBookmark(1); // second bookmark, noted [1]
            // ttrace.WinTrace.clearBookmark() ;
            // ttrace.WinTrace.GotoFirstNode() ;
            // ttrace.WinTrace.GotoLastNode() ;

            // TTrace.Find just set the criterias and hightlight if asked, but don't move to the next matching node.
            TTrace.Find("StRinG", false, true, true, true);// {Sensitive}{WholeWord}{Highlight}{SearchInAllPages}

            // from the current node : go to the next item matching criteria. Call ttrace.WinTrace.GotoFirstNode() before FindNext to start search from first node
            TTrace.WinTrace.FindNext(true); //{SearForward}
        }
Esempio n. 8
0
    //--------------------------------------------------------------------------------------------

    protected void butSample_Click(object sender, EventArgs e)
    {
        TTrace.Debug.Send("VS8 ASP NET F2 demo");

        TTrace.Options.SendProcessName = false;
        string str = '\u2250' + "qwerty é ù è azerty" + '\u9999';

        // simple traces
        TTrace.Debug.Send("Hello").Send("World");  // "World" is a sub trace of "Hello"

        // traces using Sendxxx method
        // Use default display filter. (see TTrace.Options)

        TTrace.Debug.SendType("SendType 'Trace node Type'", TTrace.Debug.GetType());
        TTrace.Debug.SendObject("My const", TraceConst.CST_CREATE_MEMBER);
        TTrace.Debug.SendDump("SendDump test", "Unicode", System.Text.Encoding.Unicode.GetBytes(str), 50);

        // TTrace.Debug.SendType ("My abstract type" , typeof (Base));  // same as Type.GetType("Project1.Base")

        // traces using TraceNodeEx
        TraceNodeEx node = new TraceNodeEx(null);  //  TTrace.Debug

        node.LeftMsg   = "TraceNodeEx";
        node.RightMsg  = "demo";
        node.IconIndex = 8;
        node.AddDump("ASCII", System.Text.Encoding.ASCII.GetBytes(str), 50);     // 3F 61 7A          ..... 3F
        node.AddDump("UTF8", System.Text.Encoding.UTF8.GetBytes(str), 50);
        node.AddDump("Unicode", System.Text.Encoding.Unicode.GetBytes(str), 50); // 50 22 61 00 7A 00 ..... 99 99
        node.Send();


        // specify what to send (modifiers, fields, ...). Can be slow on complexe objects
        TraceDisplayFlags flags = TraceDisplayFlags.ShowModifiers |
                                  TraceDisplayFlags.ShowInheritedMembers |
                                  TraceDisplayFlags.ShowNonPublic |
                                  TraceDisplayFlags.ShowFields;

        TTrace.Error.SendObject("SendObject 'Trace node Object'", TTrace.Debug, flags);

        TTrace.Flush();
    }
Esempio n. 9
0
        //--------------------------------------------------------------------------------------------

        private void butSample_Click(object sender, System.EventArgs e)
        {
            TTrace.Debug.Send("VS7 ppc2003 CF1 demo");

            TTrace.Options.SendProcessName = false;
            string str = '\u2250' + "qwerty é ù è azerty" + '\u9999';

            // simple traces
            TTrace.Debug.Send("Hello").Send("World");  // "World" is a sub trace of "Hello"

            // single separator
            TTrace.Debug.Send("---");

            // send traces with special font style (bold and Italic), color font size and font name
            TTrace.Debug.Send("Special font", "Symbol 12")
            .SetFontDetail(3, true, false, Color.Red.ToArgb())                        // set col 3 (Left Msg)  to bold and Red
            .SetFontDetail(4, false, false, Color.Green.ToArgb(), 12, "Symbol");      // set col 4 (Right Msg) to Green and font size 12
            TTrace.Debug.Send("Impact Italic")
            .SetFontDetail(3, false, true, Color.BlueViolet.ToArgb(), 12, "Impact");  // Col3 (left msg), non bold, Italic , Blue-Violet , font 12 , Impact

            //TTrace.Options.SendThreadId = false ;
            //TTrace.Debug.Send("trace without thread id");
            //TTrace.Options.SendThreadId = true;

            //TTrace.Options.SendDate = true;
            //TTrace.Debug.Send("trace with date");
            //TTrace.Options.SendDate = false;

            // double separator
            TTrace.Debug.Send("===");


            // traces using Sendxxx method
            // Use default display filter. (see TTrace.Options)

            TTrace.Debug.SendType("SendType 'Trace node Type'", TTrace.Debug.GetType());
            TTrace.Debug.SendObject("My const", TraceConst.CST_CREATE_MEMBER);
            TTrace.Debug.SendDump("SendDump test", "Unicode", System.Text.Encoding.Unicode.GetBytes(str), 50);

            // TTrace.Debug.SendType ("My abstract type" , typeof (Base));  // same as Type.GetType("Project1.Base")

            // traces using TraceNodeEx
            TraceNodeEx node = new TraceNodeEx(null);  //  TTrace.Debug

            node.LeftMsg   = "TraceNodeEx";
            node.RightMsg  = "demo";
            node.IconIndex = 8;
            node.Members.Add("My Members", "col2", "col3")
            .SetFontDetail(0, true)                                                  // set first column to bold
            .SetFontDetail(1, false, false, Color.Green.ToArgb())                    // set second column to green
            .Add("Sub members")                                                      // add sub member node
            .SetFontDetail(0, false, true);                                          // set first column to Italic
            node.AddDump("ASCII", System.Text.Encoding.ASCII.GetBytes(str), 50);     // 3F 61 7A          ..... 3F
            node.AddDump("UTF8", System.Text.Encoding.UTF8.GetBytes(str), 50);
            node.AddDump("Unicode", System.Text.Encoding.Unicode.GetBytes(str), 50); // 50 22 61 00 7A 00 ..... 99 99
            node.Send();


            // specify what to send (modifiers, fields, ...). Can be slow on complexe objects
            TraceDisplayFlags flags = TraceDisplayFlags.ShowModifiers |
                                      TraceDisplayFlags.ShowInheritedMembers |
                                      TraceDisplayFlags.ShowNonPublic |
                                      TraceDisplayFlags.ShowFields;

            TTrace.Error.SendObject("SendObject 'Trace node Object'", TTrace.Debug, flags);

            TTrace.Flush();
        }
Esempio n. 10
0
        //------------------------------------------------------------------------------

        /// <summary>
        /// Stop the plugin
        /// </summary>
        public void Stop()
        {
            //don't send anymore traces and flush before leaving the Stop() function.
            TTrace.Flush();
        }
Esempio n. 11
0
        //------------------------------------------------------------------------------

        // send to default : "127.0.0.1" on port 4502
        private void butTrace_Click(object sender, RoutedEventArgs e)
        {
            //TTrace.Debug.SendObject("button1", button1);
            //button1.Width = button1.Width + 10;
            //button1.SetValue(Canvas.LeftProperty, (double)button1.GetValue(Canvas.LeftProperty) + 1);
            TTrace.Options.SendProcessName = (bool)chkSendProcessName.IsChecked;
            string str = '\u2250' + "qwerty & @ € é ù è azerty" + '\u9999';

            // simple traces
            //--------------------------------------------
            TTrace.Debug.Send("Hello").Send("World"); // "World" is a sub trace of "Hello"

            // single separator
            TTrace.Debug.Send("---");

            // send traces with special font style (bold and Italic), color font size and font name
            TTrace.Debug.Send("Special font", "Symbol 12")
            .SetFontDetail(-1, false, true)                                                     // set whole line to italic
            .SetFontDetail(3, true, false, (int)Helper.ToArgb(Colors.Red))                      // set col 3 (Left Msg)  to bold and Red
            .SetFontDetail(4, false, false, (int)Helper.ToArgb(Colors.Green), 12, "Symbol");    // set col 4 (Right Msg) to Green , font size 12 , Symbol
            TTrace.Debug.Send("Impact Italic")
            .SetFontDetail(3, false, true, (int)Helper.ToArgb(Colors.Orange), 12, "Impact");    // Col3 (left msg), non bold, Italic , Orange , font 12 , Impact

            TTrace.Debug.Send("Special chars", "€ é ù è $ ");

            // The characters to encode:
            //    Latin Small Letter Z (U+007A)
            //    Latin Small Letter A (U+0061)
            //    Combining Breve (U+0306)
            //    Latin Small Letter AE With Acute (U+01FD)
            //    Greek Small Letter Beta (U+03B2)
            //    a high-surrogate value (U+D8FF)
            //    a low-surrogate value (U+DCFF)
            //char[] myChars = new char[] { 'z', 'a', '\u0306', '\u01FD', '\u03B2', '\uD8FF', '\uDCFF' };
            //TTrace.Debug.Send("Other Special chars", new StringBuilder().Append(myChars).ToString());  // myChars.ToString() return  "char[]"

            // double separator
            TTrace.Debug.Send("===");

            //TTrace.Options.SendThreadId = false ;
            //TTrace.Debug.Send("trace without thread id");
            //TTrace.Options.SendThreadId = true;

            //TTrace.Options.SendDate = true;
            //TTrace.Debug.Send("trace with date");
            //TTrace.Options.SendDate = false;

            // traces using Sendxxx method
            //--------------------------------------------
            // Use default display filter. (see TTrace.Options)

            TTrace.Debug.SendType("Object base type", typeof(Object));
            TTrace.Debug.SendType("My interface", typeof(Myinterface));
            TTrace.Debug.SendObject("My const", TraceConst.CST_CREATE_MEMBER);
            TTrace.Debug.SendObject("My enum", testClass.fieldDay);
            TTrace.Debug.SendCaller("SendCaller test", 0);
            TTrace.Debug.SendStack("Stack test", 0);
            TTrace.Debug.SendDump("SendDump test", "Unicode", Encoding.Unicode.GetBytes(str), 50);

            TTrace.Warning.SendType("SendType 'testClass'", testClass.GetType());

            // specify what to send (modifiers, fields, ...). Can be slow on complexe objects
            TraceDisplayFlags flags = TraceDisplayFlags.ShowModifiers |
                                      TraceDisplayFlags.ShowInheritedMembers |
                                      TraceDisplayFlags.ShowNonPublic |
                                      TraceDisplayFlags.ShowFields;

            if ((bool)chkSendFunctions.IsChecked)
            {
                flags |= TraceDisplayFlags.ShowMethods;
            }
            TTrace.Error.SendObject("SendObject 'testClass'", testClass, flags);

            // traces using TraceNodeEx
            //--------------------------------------------
            TraceNodeEx node = new TraceNodeEx(null); //  TTrace.Debug

            node.LeftMsg  = "TraceNodeEx";
            node.RightMsg = str;
            node.AddFontDetail(3, false, false, (int)Helper.ToArgb(Colors.Green));
            node.IconIndex = 8;
            node.Members.Add("My Members", "col2", "col3")
            .SetFontDetail(0, true)                                                        // set first column to bold
            .SetFontDetail(1, false, false, (int)Helper.ToArgb(Colors.Green))              // set second column to green
            .Add("Sub members")                                                            // add sub member node
            .SetFontDetail(0, false, true);                                                // set first column to Italic
            node.AddDump("BigEndianUnicode", Encoding.BigEndianUnicode.GetBytes(str), 50); // 3F 61 7A          ..... 3F
            node.AddDump("UTF8", Encoding.UTF8.GetBytes(str), 50);
            node.AddDump("Unicode", Encoding.Unicode.GetBytes(str), 50);                   // 50 22 61 00 7A 00 ..... 99 99
            node.AddStackTrace(0);
            node.AddCaller();
            TraceNode sendNode = node.Send();

            sendNode.ResendIconIndex(5); // change icon index after the node is send

            // XML sample using Send
            //--------------------------------------------
            TTrace.Debug.SendXml("xml", "<?xml version='1.0' ?><Data> Hello XML </Data>");

            // Image sample using Send
            //--------------------------------------------

            // currently not possibe in silverlight 2 :
            // - No way to read the Image content
            // - BmpBitmapEncoder is not supported
            //TTrace.Debug.SendBitmap("Bitmap", image1);

            // Text and XML together
            //--------------------------------------------
            node         = new TraceNodeEx(TTrace.Debug);
            node.LeftMsg = "Text and XML together";
            node.Members.Add("Text displayed in detail");
            //node.AddBitmap(image1); // currently not possibe in silverlight 2
            node.AddXML("<?xml version='1.0' ?><Data> Xml in traceNodeEx </Data>");
            node.Send();

            // send table detail
            //--------------------------------------------

            // create the table
            TraceTable table = new TraceTable();

            // add titles. Individual columns titles can be added or multiple columns , separated by tabs
            table.AddColumnTitle("colA");                 // first column title
            table.AddColumnTitle("colB");                 // second column title
            table.AddColumnTitle("title column C\tcolD"); // other columns title (tab separated)

            // add first line. Individual columns data can be added or multiple columns , separated by tabs
            table.AddRow();
            table.AddRowData("a");                                        // add first col
            table.AddRowData("b" + "\t" + "c" + "\t" + "d" + "\t" + "e"); // then add other columns (tab separated)

            // add second line
            table.AddRow();
            table.AddRowData("aa" + "\t" + "data second column" + "\t" + "cc" + "\t" + "dd" + "\t" + "ee"); // add all columns data in a single step (tab separated)

            // finally send the table
            TTrace.Debug.SendTable("Mytable", table);

            // group of traces enabled / disabled
            TraceNode GroupTrace = new TraceNode(null, false);

            GroupTrace.IconIndex = 5;

            GroupTrace.Enabled = true;
            GroupTrace.Send("GroupTrace traces 1"); // send to viewer
            GroupTrace.Enabled = false;
            GroupTrace.Send("GroupTrace traces 2"); // not send : group not enabled

            // ensure all traces are send to the viewer
            TTrace.Flush();
        }
Esempio n. 12
0
        static async System.Threading.Tasks.Task Main()
        {
            TTrace.Options.SocketHost = "127.0.0.1";

            Console.WriteLine("select how traces are sent to viewer");
            Console.WriteLine("1 - socket (worker thread)");
            Console.WriteLine("2 - socket async");
            Console.WriteLine("3 - websocket (worker thread)");
            Console.WriteLine("4 - websocket async");
            Console.WriteLine("5 - windows msg (worker thread)");
            Console.WriteLine("6 - windows msg Async");

            int    intChoice = Convert.ToInt32(Console.ReadLine());
            string strChoice;

            switch (intChoice)
            {
            case 1:
                strChoice = "socket sync";
                TTrace.Options.SendMode        = SendMode.Socket;
                TTrace.Options.SocketPort      = 8090;
                TTrace.Options.UseWorkerThread = true;     // sync , default
                break;

            case 2:
                strChoice = "socket async";
                TTrace.Options.SendMode        = SendMode.Socket;
                TTrace.Options.SocketPort      = 8090;
                TTrace.Options.UseWorkerThread = false;     // async
                break;

            case 3:
                strChoice = "websocket sync";
                TTrace.Options.SendMode        = SendMode.WebSocket;
                TTrace.Options.SocketPort      = 8091;
                TTrace.Options.UseWorkerThread = true;
                break;

            case 4:
                strChoice = "websocket async";
                TTrace.Options.SendMode        = SendMode.WebSocket;
                TTrace.Options.SocketPort      = 8091;
                TTrace.Options.UseWorkerThread = false;
                break;

            case 5:
                strChoice = "windows msg sync";
                TTrace.Options.SendMode        = SendMode.WinMsg;
                TTrace.Options.UseWorkerThread = true;
                break;

            case 6:
                strChoice = "windows msg async";
                TTrace.Options.SendMode        = SendMode.WinMsg;
                TTrace.Options.UseWorkerThread = false;
                break;

            default:
                return;
            }

            Console.WriteLine($"{DateTime.Now.ToString("hh:mm:ss.fff")} starting test");
            TTrace.ClearAll();
            TTrace.Debug.Send($"Console Core 2.0 {strChoice} ", TTrace.Debug.GetType().Assembly.Location);
            TTrace.Debug.SendValue("val1", TTrace.Debug);
            for (int i = 0; i < 300; i++)
            {
                TTrace.Debug.Send($"{i}");
            }
            TTrace.Debug.Send($"done {strChoice}").Show();
            TTrace.Show(true);

            // You need to flush before stopping the application, else you will lose traces
            if (TTrace.Options.UseWorkerThread)
            {
                TTrace.Flush();                 // blocking
            }
            else
            {
                await TTrace.FlushAsync();     // blocking
            }
            Console.WriteLine($"{DateTime.Now.ToString("hh:mm:ss.fff")} last error : {TTrace.LastSocketError}");
            TTrace.CloseSocket();
            TTrace.Stop();
        }
Esempio n. 13
0
        static int Main(string[] args)
        {
            //A TraceTool
            WinTrace myWinTrace = null;

            bool   firstTime = true;         //Don't do any work if no input stream to process
            string line;

            //Inititalize Tracing Framework for socket delivery to viewer!!
            TTrace.Options.SendMode = SendMode.Socket;

            //Process command line args
            Arguments CommandLine = new Arguments(args);

            // Look for specific arguments values and process
            // them if they exist.
            if (CommandLine["h"] != null || CommandLine["help"] != null || CommandLine["?"] != null)
            {
                usage();
                return(0);
            }

            if (CommandLine["t"] != null)
            {
                //Must be Viewer tab name
                myWinTrace = new WinTrace(CommandLine["t"], CommandLine["t"]);
            }
            else
            {
                myWinTrace = new WinTrace();
            }

            if (CommandLine["i"] != null)
            {
                //Set the host IP address
                TTrace.Options.SocketHost = CommandLine["i"];
            }

            if (CommandLine["p"] != null)
            {
                //Set the host port
                TTrace.Options.SocketPort = Convert.ToInt32(CommandLine["p"]);
            }

            //Loop while there are lines to read from the input stream

            while ((line = Console.ReadLine()) != null)
            {
                //Do once the first time
                if (firstTime)
                {
                    firstTime = false;
                    myWinTrace.Debug.Indent("===========================================================");
                }

                //pipe input stream line to log viewer
                myWinTrace.Debug.Send(line);
            }
            TTrace.Flush();
            TTrace.CloseSocket();
            return(0);
        }
Esempio n. 14
0
        private void butTrace_Click(object sender, EventArgs e)
        {
            TTrace.Options.SendProcessName = chkSendProcessName.Checked;
            string str = '\u2250' + "qwerty é ù è azerty" + '\u9999';

            // simple traces
            //--------------------------------------------
            TTrace.Debug.Send("Hello").Send("World");  // "World" is a sub trace of "Hello"

            // single separator
            TTrace.Debug.Send("---");

            // send traces with special font style (bold and Italic), color font size and font name
            TTrace.Debug.Send("Special font", "Symbol 12")
            .SetFontDetail(-1, false, true)                                           // set whole line to italic
            .SetFontDetail(3, true, false, Color.Red.ToArgb())                        // set col 3 (Left Msg)  to bold and Red
            .SetFontDetail(4, false, false, Color.Green.ToArgb(), 12, "Symbol");      // set col 4 (Right Msg) to Green , font size 12 , Symbol
            TTrace.Debug.Send("Impact Italic")
            .SetFontDetail(3, false, true, Color.BlueViolet.ToArgb(), 12, "Impact");  // Col3 (left msg), non bold, Italic , Blue-Violet , font 12 , Impact

            // double separator
            TTrace.Debug.Send("===");

            //TTrace.Options.SendThreadId = false ;
            //TTrace.Debug.Send("trace without thread id");
            //TTrace.Options.SendThreadId = true;

            //TTrace.Options.SendDate = true;
            //TTrace.Debug.Send("trace with date");
            //TTrace.Options.SendDate = false;

            // traces using Sendxxx method
            //--------------------------------------------
            // Use default display filter. (see TTrace.Options)

            TTrace.Debug.SendType("Object base type", typeof(Object));
            TTrace.Debug.SendType("My interface", typeof(Myinterface));
            TTrace.Debug.SendObject("My const", TraceConst.CST_CREATE_MEMBER);
            TTrace.Debug.SendObject("My enum", testClass.fieldDay);
            TTrace.Debug.SendCaller("SendCaller test", 0);
            TTrace.Debug.SendStack("Stack test", 0);
            TTrace.Debug.SendDump("SendDump test", "Unicode", Encoding.Unicode.GetBytes(str), 50);

            TTrace.Warning.SendType("SendType 'testClass'", testClass.GetType());

            // specify what to send (modifiers, fields, ...). Can be slow on complexe objects
            TraceDisplayFlags flags = TraceDisplayFlags.ShowModifiers |
                                      TraceDisplayFlags.ShowInheritedMembers |
                                      TraceDisplayFlags.ShowNonPublic |
                                      TraceDisplayFlags.ShowFields;

            if (chkSendFunctions.Checked)
            {
                flags |= TraceDisplayFlags.ShowMethods;
            }
            TTrace.Error.SendObject("SendObject 'testClass'", testClass, flags);

            // traces using TraceNodeEx
            //--------------------------------------------
            TraceNodeEx node = new TraceNodeEx(null);  //  TTrace.Debug

            node.LeftMsg  = "TraceNodeEx";
            node.RightMsg = "demo";
            node.AddFontDetail(3, false, false, Color.Green.ToArgb());
            node.IconIndex = 8;
            node.Members.Add("My Members", "col2", "col3")
            .SetFontDetail(0, true)                                      // set first column to bold
            .SetFontDetail(1, false, false, Color.Green.ToArgb())        // set second column to green
            .Add("Sub members")                                          // add sub member node
            .SetFontDetail(0, false, true);                              // set first column to Italic
            node.AddDump("ASCII", Encoding.ASCII.GetBytes(str), 50);     // 3F 61 7A          ..... 3F
            node.AddDump("UTF8", Encoding.UTF8.GetBytes(str), 50);
            node.AddDump("Unicode", Encoding.Unicode.GetBytes(str), 50); // 50 22 61 00 7A 00 ..... 99 99
            node.AddStackTrace(0);
            node.AddCaller();
            TraceNode sendNode = node.Send();

            sendNode.ResendIconIndex(5);  // change icon index after the node is send

            // XML sample using Send
            //--------------------------------------------
            TTrace.Debug.SendXml("xml", "<?xml version='1.0' ?><Data> Hello XML </Data>");

            // Image sample using Send
            //--------------------------------------------
            TTrace.Debug.SendBitmap("Bitmap", pictureBox1.Image);

            // Text, image and XML together
            //--------------------------------------------
            node         = new TraceNodeEx(TTrace.Debug);
            node.LeftMsg = "Text, image and XML together";
            node.Members.Add("Text displayed in detail");
            node.AddBitmap(pictureBox1.Image);
            node.AddXML("<?xml version='1.0' ?><Data> Xml in traceNodeEx </Data>");
            node.Send();

            // send table detail
            //--------------------------------------------

            // create the table
            TraceTable table = new TraceTable();

            // add titles. Individual columns titles can be added or multiple columns , separated by tabs
            table.AddColumnTitle("colA");                 // first column title
            table.AddColumnTitle("colB");                 // second column title
            table.AddColumnTitle("title column C\tcolD"); // other columns title (tab separated)

            // add first line. Individual columns data can be added or multiple columns , separated by tabs
            table.AddRow();
            table.AddRowData("a");                                        // add first col
            table.AddRowData("b" + "\t" + "c" + "\t" + "d" + "\t" + "e"); // then add other columns (tab separated)

            // add second line
            table.AddRow();
            table.AddRowData("aa" + "\t" + "data second column" + "\t" + "cc" + "\t" + "dd" + "\t" + "ee");  // add all columns data in a single step (tab separated)

            // finally send the table
            TTrace.Debug.SendTable("Mytable", table);

            // ensure all traces are send to the viewer
            TTrace.Flush();
        }
Esempio n. 15
0
    //--------------------------------------------------------------------------------------------

    protected void butClearMainTraces_Click(object sender, EventArgs e)
    {
        TTrace.ClearAll();
    }
Esempio n. 16
0
        //--------------------------------------------------------------------------------------------

        private void butShowViewer_Click(object sender, System.EventArgs e)
        {
            TTrace.Show(true);
        }
Esempio n. 17
0
        private void butTrace_Click(object sender, RoutedEventArgs e)
        {
            // specify what to send (modifiers, fields, ...). Can be slow on complexe objects
            TraceDisplayFlags flags = TraceDisplayFlags.ShowModifiers |
                                      TraceDisplayFlags.ShowInheritedMembers |
                                      TraceDisplayFlags.ShowNonPublic |
                                      TraceDisplayFlags.ShowFields;

            if (ChkSendFunctions.IsChecked != null && (bool)ChkSendFunctions.IsChecked)
            {
                flags |= TraceDisplayFlags.ShowMethods;
            }


            //TTrace.Debug.SendObject("button1", button1);
            //button1.Width = button1.Width + 10;
            //button1.SetValue(Canvas.LeftProperty, (double)button1.GetValue(Canvas.LeftProperty) + 1);
            if (ChkSendProcessName.IsChecked != null)
            {
                TTrace.Options.SendProcessName = (bool)ChkSendProcessName.IsChecked;
            }
            string str = '\u2250' + "qwerty & @ € é ù è azerty" + '\u9999';

            // simple traces
            //--------------------------------------------
            TTrace.Debug.Send("Hello").Send("World"); // "World" is a sub trace of "Hello"

            // single separator
            TTrace.Debug.Send("---");

            // send traces with special font style (bold and Italic), color font size and font name
            // use System.Drawing.Color.ToArgb() (not supported in Silverlight) or (int)Helper.ToArgb(System.Windows.Media.Color) to specify Argb color
            TTrace.Debug.Send("Special font", "Symbol 12")
            .SetFontDetail(-1, false, true)                                                         // set whole line to italic
            .SetFontDetail(3, true, false, System.Drawing.Color.Red.ToArgb())                       // set col 3 (Left Msg)  to bold and Red
            .SetFontDetail(4, false, false, System.Drawing.Color.Green.ToArgb(), 12, "Symbol");     // set col 4 (Right Msg) to Green , font size 12 , Symbol
            TTrace.Debug.Send("Impact Italic")
            .SetFontDetail(3, false, true, System.Drawing.Color.BlueViolet.ToArgb(), 12, "Impact"); // Col3 (left msg), non bold, Italic , Blue-Violet , font 12 , Impact

            TTrace.Debug.Send("Special chars", "€ é ù è $ ");

            // The characters to encode:
            //    Latin Small Letter Z (U+007A)
            //    Latin Small Letter A (U+0061)
            //    Combining Breve (U+0306)
            //    Latin Small Letter AE With Acute (U+01FD)
            //    Greek Small Letter Beta (U+03B2)
            //    a high-surrogate value (U+D8FF)
            //    a low-surrogate value (U+DCFF)
            //char[] myChars = new char[] { 'z', 'a', '\u0306', '\u01FD', '\u03B2', '\uD8FF', '\uDCFF' };
            //TTrace.Debug.Send("Other Special chars", new StringBuilder().Append(myChars).ToString());  // note that myChars.ToString() return  "char[]"

            // double separator
            TTrace.Debug.Send("===");

            //TTrace.Options.SendThreadId = false ;
            //TTrace.Debug.Send("trace without thread id");
            //TTrace.Options.SendThreadId = true;

            //TTrace.Options.SendDate = true;
            //TTrace.Debug.Send("trace with date");
            //TTrace.Options.SendDate = false;

            // traces using Sendxxx method
            //--------------------------------------------
            // Use default display filter. (see TTrace.Options)

            TTrace.Debug.SendType("Object base type", typeof(Object));
            TTrace.Debug.SendType("My interface", typeof(IMyinterface));
            TTrace.Debug.SendObject("My const", TraceConst.CST_CREATE_MEMBER);
            TTrace.Debug.SendObject("My enum", _testClass.FieldDay);
            TTrace.Debug.SendCaller("SendCaller test", 0);
            TTrace.Debug.SendStack("Stack test", 0);
            TTrace.Debug.SendDump("SendDump test", "Unicode", Encoding.Unicode.GetBytes(str), 50);

            TTrace.Warning.SendType("SendType 'testClass'", _testClass.GetType());

            TTrace.Error.SendObject("SendObject 'testClass'", _testClass, flags);

            // traces using TraceNodeEx
            //--------------------------------------------
            TraceNodeEx node = new TraceNodeEx(null); //  TTrace.Debug

            node.LeftMsg  = "TraceNodeEx";
            node.RightMsg = str;
            node.AddFontDetail(3, false, false, System.Drawing.Color.Green.ToArgb());
            node.IconIndex = 8;
            node.Members.Add("My Members", "col2", "col3")
            .SetFontDetail(0, true)                                              // set first column to bold
            .SetFontDetail(1, false, false, System.Drawing.Color.Green.ToArgb()) // set second column to green
            .Add("Sub members")                                                  // add sub member node
            .SetFontDetail(0, false, true);                                      // set first column to Italic
            node.AddDump("ASCII", Encoding.ASCII.GetBytes(str), 50);             // 3F 61 7A          ..... 3F
            node.AddDump("UTF8", Encoding.UTF8.GetBytes(str), 50);
            node.AddDump("Unicode", Encoding.Unicode.GetBytes(str), 50);         // 50 22 61 00 7A 00 ..... 99 99
            node.AddStackTrace(0);
            node.AddCaller();
            TraceNode sendNode = node.Send();

            sendNode.ResendIconIndex(5); // change icon index after the node is send

            // XML sample using Send
            //--------------------------------------------
            TTrace.Debug.SendXml("xml", "<?xml version='1.0' ?><Data> Hello XML </Data>");

            // Image sample using Send
            //--------------------------------------------

            //TTrace.Debug.SendBitmap("Bitmap", Image1);

            // Text, image and XML together
            //--------------------------------------------
            node         = new TraceNodeEx(TTrace.Debug);
            node.LeftMsg = "Text, image and XML together";
            node.Members.Add("Text displayed in detail");
            //node.AddBitmap(Image1);
            node.AddXML("<?xml version='1.0' ?><Data> Xml in traceNodeEx </Data>");
            node.Send();

            // group of traces enabled / disabled
            //------------------------------------
            TraceNode groupTrace = new TraceNode(null, false); // dummy node not send to viewer

            groupTrace.IconIndex = 5;
            groupTrace.Enabled   = true;
            groupTrace.Send("GroupTrace traces 1"); // send to viewer
            groupTrace.Enabled = false;
            groupTrace.Send("GroupTrace traces 2"); // not send : group not enabled

            // generics
            //------------------------------------
            TTrace.Debug.SendType("typeof(Dictionary<,>)", typeof(Dictionary <,>), flags);                                  // open generic
            TTrace.Debug.SendType("typeof(Dictionary<Window, structTest>", typeof(Dictionary <Window, StructTest>), flags); // closed generic
            TTrace.Debug.SendObject("new Dictionary<Window, structTest>()", new Dictionary <Window, StructTest>(), flags);

            TTrace.Debug.SendType("typeof(templateTest<,>)", typeof(TemplateTest <,>), flags);
            TTrace.Debug.SendObject("new templateTest<Window, structTest>()", new TemplateTest <Window, StructTest>(), flags);


            // Display tables : use an object that implement : Array or IEnumerable or IDictionary or create a special table
            //--------------------------------------------------------------------------------------------------------------

            // 1) array of int
            int[] numbersA = { 0, 2, 4, 5, 6, 8, 9 };
            int[] numbersB = { 1, 3, 5, 7, 8 };
            TTrace.Debug.SendTable("numbersA", numbersA);
            TTrace.Debug.SendTable("numbersB", numbersB);

            // Linq on array
            var pairs =
                from a in numbersA
                from b in numbersB
                where a < b
                select new { a, b };

            TTrace.Debug.SendTable("Linq query on series", pairs);

            // 2) array of FileInfo[]
            string        strTempPath = Path.GetTempPath();
            DirectoryInfo tempPath    = new DirectoryInfo(strTempPath);

            TTrace.Debug.SendTable("Files in temp path", tempPath.GetFiles());

            // Linq to array of FileInfo[]
            var linqToObjectQuery = from file in tempPath.GetFiles()
                                    where file.Length > 100
                                    orderby file.Length descending
                                    select new
            {
                file.Name,
                file.Length,
                file.LastWriteTime,
                file
            };

            TTrace.Debug.SendTable("Files having length>100 in temp path (Linq)", linqToObjectQuery);


            // 3) IDictionary : Hashtable
            Hashtable openWith = new Hashtable();

            openWith.Add("txt", "notepad.exe");
            openWith.Add("bmp", "paint.exe");
            openWith.Add("dib", "paint.exe");
            openWith.Add("rtf", "wordpad.exe");
            TTrace.Debug.SendTable("Hashtable", openWith);

            // 4) UnTyped collection : Stack
            Stack windowStack = new Stack(5);

            windowStack.Push(this);
            windowStack.Push(this);
            windowStack.Push(this);
            TTrace.Debug.SendTable("Stack ", windowStack);

            // 5) Typed collection (implement ICollection)
            Collection <Window> windowsCollection = new Collection <Window>();

            for (int c = 0; c < 500; c++)
            {
                windowsCollection.Add(this);
            }
            TTrace.Debug.SendTable("window Collection", windowsCollection);

            Collection <int> intCollection = new Collection <int>();

            for (int c = 0; c < 500; c++)
            {
                intCollection.Add(c);
            }
            TTrace.Debug.SendTable("int Collection", intCollection);

            // 6) create manually a table
            TraceTable table = new TraceTable();

            // add titles. Individual columns titles can be added or multiple columns , separated by tabs
            table.AddColumnTitle("colA");                 // first column title
            table.AddColumnTitle("colB");                 // second column title
            table.AddColumnTitle("title column C\tcolD"); // other columns title (tab separated)

            // add first line. Individual columns data can be added or multiple columns , separated by tabs
            table.AddRow();
            table.AddRowData("a");                                        // add first col
            table.AddRowData("b" + "\t" + "c" + "\t" + "d" + "\t" + "e"); // then add other columns (tab separated)

            // add second line
            table.AddRow();
            table.AddRowData("aa" + "\t" + "data second column" + "\t" + "cc" + "\t" + "dd" + "\t" + "ee"); // add all columns data in a single step (tab separated)

            // finally send the table
            TTrace.Debug.SendTable("Mytable", table);


            // ensure all traces are send to the viewer
            TTrace.Flush();
        }
Esempio n. 18
0
        //--------------------------------------------------------------------------------------------

        private void butClearMainTraces_Click(object sender, System.EventArgs e)
        {
            TTrace.ClearAll();
        }
Esempio n. 19
0
        //------------------------------------------------------------------------------

        private void butClear_Click(object sender, RoutedEventArgs e)
        {
            TTrace.ClearAll();
        }
Esempio n. 20
0
    //--------------------------------------------------------------------------------------------

    protected void butShowViewer_Click(object sender, EventArgs e)
    {
        TTrace.Show(true);
    }
Esempio n. 21
0
        //------------------------------------------------------------------------------

        private void Window_Closed(object sender, EventArgs e)
        {
            TTrace.Stop(); // ensure trace sub-system is closed. You may also call TTrace.Flush() before stopping it.
        }
Esempio n. 22
0
        //------------------------------------------------------------------------------

        /// <summary>
        /// Stop the plugin
        /// </summary>
        public void Stop()
        {
            PlugTraces.Debug.Send("Sample CSharp Plugin stopped");
            TTrace.Flush();
        }
Esempio n. 23
0
        //------------------------------------------------------------------------------

        private void butShowtrace_Click(object sender, RoutedEventArgs e)
        {
            TTrace.Show(true);
        }
Esempio n. 24
0
        void Flush()
        {
#if DEBUG || DEVELOP
            TTrace.Flush();
#endif
        }
Esempio n. 25
0
        //------------------------------------------------------------------------------

        private void butCloseViewer_Click(object sender, RoutedEventArgs e)
        {
            TTrace.CloseViewer();
        }