.NET: C#: System.Diagnostics

1. Trace & Debug

理解这两者的区别,Trace有个Listners.Add()非常好用,这里网上有个在ListBox里输出Debug和Trace信息的

 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.Linq;
 7 using System.Text;
 8 using System.Diagnostics;
 9 using System.Windows.Forms;
10 using System.Threading;
11
12 namespace ControlTest
13 {
14     public partial class Form1 : Form
15     {
16         public Form1()
17         {
18             InitializeComponent();
19             Trace.Listeners.Add(new ListBoxLogTraceListener(listBox1));
20             Debug.Listeners.Add(new TextWriterTraceListener(System.IO.File.CreateText("log.txt")));
21             Debug.AutoFlush = true;
22         }
23
24         private void Form1_Load(object sender, EventArgs e)
25         {
26             //Thread newThread = new Thread(new ThreadStart(run));
27             //newThread.Start();
28         }
29
30         private void button1_Click(object sender, EventArgs e)
31         {
32             Debug.WriteLine(string.Format("{0}: {1}", DateTime.Now, "Debug msg..."));
33         }
34
35         private void button2_Click(object sender, EventArgs e)
36         {
37             Trace.WriteLine(string.Format("{0}: {1}", DateTime.Now, "Trace msg..."));
38         }
39         private void run()
40         {
41             while (true)
42             {
43                 Debug.WriteLine("Debug msg...");
44                 Thread.Sleep(1000);
45                 Trace.WriteLine("Trace msg...");
46                 Thread.Sleep(1000);
47             }
48         }
49     }
50
51     public class ListBoxLogTraceListener : DefaultTraceListener
52     {
53         private ListBox m_ListBox { get; set; }
54         public ListBoxLogTraceListener(ListBox listBox)
55         {
56             m_ListBox = listBox;
57         }
58         public override void WriteLine(string message)
59         {
60             if (!m_ListBox.Visible) return;
61             if (m_ListBox.InvokeRequired)
62             {
63                 m_ListBox.BeginInvoke(new MethodInvoker(delegate { WriteLine(message); }));
64                 return;
65             }
66             m_ListBox.Items.Add(message);
67         }
68     }
69 }

时间: 2024-08-28 18:30:06

.NET: C#: System.Diagnostics的相关文章

System.Diagnostics.Process 执行.EXE

分类:  C#+WINFORM 2009-04-05 21:09 459人阅读 评论(0)  收藏  举报  我们经常会遇到在Winform或是WPF中点击链接或按钮打开某个指定的网址, 或者是需要打开电脑中某个指定的硬盘分区及文件夹, 甚至是"控制面板"相关的东西, 那么如何做呢? 答案是使用System.Diagnostics.Process.Start().它的作用是调用外部的命令. 先来看看它的调用方法: Process.Start ()  Process.Start (Pro

System.Diagnostics.Trace.Listeners

System.Diagnostics.Trace.Listeners.Clear(); System.Diagnostics.Trace.AutoFlush = true; System.Diagnostics.Trace.Listeners.Add(new System.Diagnostics.TextWriterTraceListener("~/App_Data/app.log"));

System.Diagnostics.Process.Start的妙用

我们经常会遇到在Winform或是WPF中点击链接或按钮打开某个指定的网址, 或者是需要打开电脑中某个指定的硬盘分区及文件夹, 甚至是"控制面板"相关的东西, 那么如何做呢? 答案是使用System.Diagnostics.Process.Start().它的作用是调用外部的命令. 先来看看它的调用方法: Process.Start () Process.Start (ProcessStartInfo) Process.Start (String) Process.Start (Str

.NET Framework 的system.diagnostics

<system.diagnostics> <sources> <source name="System.ServiceModel" switchValue="Warning" propagateActivity="true"> <listeners> <add name="xml" /> </listeners> </source> </

System.Diagnostics.Stopwatch

作用:對程序的運行時間做到精確的測量. System.Diagnostics.Stopwatch timer=new System.Diagnostics.Stopwatch(); timer.start(); timer.stop(); timer.elapsemilliseconds.tostring(); stopwatch.ElapsedTicks.tostring();

在Winform或WPF中System.Diagnostics.Process.Start的妙用

我们经常会遇到在Winform或是WPF中点击链接或按钮打开某个指定的网址, 或者是需要打开电脑中某个指定的硬盘分区及文件夹, 甚至是"控制面板"相关的东西, 那么如何做呢? 答案是使用System.Diagnostics.Process.Start().它的作用是调用外部的命令. 先来看看它的调用方法:Process.Start () Process.Start (ProcessStartInfo) Process.Start (String)Process.Start (Strin

System.Diagnostics.Process.Start()用法详解

System.Diagnostics.Process.Start(); 能做什么呢?它主要有以下几个功能: 1.打开某个链接网址(弹窗). 2.定位打开某个文件目录. 3.打开系统特殊文件夹,如"控制面板"等. 那么它是怎么实现这几个功能的呢?在讲应用前,我们先来看看Process.Star()的构造方法. 名称 说明 Process.Start () 启动(或重用)此 Process 组件的 StartInfo 属性指定的进程资源,并将其与该组件关联. Process.Start (

System.Diagnostics.Process 启动进程资源或调用外部的命令的使用

经常看到一些程序在保存为一个txt,或者excel的文件的时候,保存完毕立即打开, 启动程序或打开文件的代码 System.Diagnostics.Process.Start(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "LogRcptTo.log")); 在Winform或是WPF中点击链接或按钮打开某个指定的网址, 或者是需要打开电脑中某个指定的硬盘分区及文件夹, 甚至是"控制面板"

【转载System.Diagnostics.Process.Start的妙用】

System.Diagnostics.Process.Start的妙用 分类:  C#+WINFORM 2009-04-05 21:09 459人阅读 评论(0)  收藏  举报  我们经常会遇到在Winform或是WPF中点击链接或按钮打开某个指定的网址, 或者是需要打开电脑中某个指定的硬盘分区及文件夹, 甚至是"控制面板"相关的东西, 那么如何做呢? 答案是使用System.Diagnostics.Process.Start().它的作用是调用外部的命令. 先来看看它的调用方法:

System.Diagnostics.Debug.WriteLine 在OutPut中无输出

TextWriterTraceListener writer = new TextWriterTraceListener(System.Console.Out); Debug.Listeners.Add(writer); System.Diagnostics.Debug.WriteLine("-------------------");