zoukankan      html  css  js  c++  java
  • .NET : 跟踪和调试技术

    我们如果要为.NET程序启用跟踪和调试,则可以使用System.Diagnostics空间下面的一些API。为了方便编程,我们通常会使用配置文件来定义有关的信息

    1. 配置文件

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <system.diagnostics>
    
        
        <trace autoflush="true">
          <listeners>
            <clear/>
            <add name="default" type="System.Diagnostics.ConsoleTraceListener" initializeData=""></add>
            <add name="text" type="System.Diagnostics.XmlWriterTraceListener" initializeData="e:\temp\trace.xml"></add>
          </listeners>
        </trace>
      </system.diagnostics>
    </configuration>

    2. 写入调试信息

    using System.Diagnostics;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                Debug.WriteLine("Hello,world");
    
                
            }
        }
    }
    

    3. 测试结果

    image

    image

    4. 假设需要根据不同的设置来将调试信息保存到不同的Listener中去,那么该怎么办呢

    假设,我们只是希望将一些紧要的跟踪信息写入到XML文件中,其他的消息输出到屏幕即可。那么按照下面这样修改一下配置文件

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <system.diagnostics>
        <sources>
          <source name="sample" switchValue="Error">
            <listeners>
              <add name="text" type="System.Diagnostics.XmlWriterTraceListener" initializeData="e:\temp\trace.xml"></add>
            </listeners>
          </source>
        </sources>
    
        <trace autoflush="true">
          <listeners>
            <clear/>
            <add name="default" type="System.Diagnostics.ConsoleTraceListener" initializeData=""></add>
          </listeners>
        </trace>
      </system.diagnostics>
    </configuration>
     
    代码
    using System.Diagnostics;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                Debug.WriteLine("Hello,world");
    
    
                //写入特定的源
                TraceSource source = new TraceSource("sample");
                source.TraceData(TraceEventType.Error, 1, "Hello,World");
            }
        }
    }
    
  • 相关阅读:
    中小企业需要企业邮箱吗?中小性公司选什么邮箱性价比高?
    主流电子邮箱有哪些?你的邮箱选对了吗?
    外贸邮箱选择什么企业邮箱更安全?
    企业邮箱适用于哪些行业?公司邮箱都用什么?
    如何注册公司收费邮箱?注册公司邮箱有哪些优势?
    convert_cyr_string — 将字符由一种 Cyrillic 字符转换成另一种
    chunk_split — 将字符串分割成小块
    addslashes — 使用反斜线引用字符串
    addcslashes — 以 C 语言风格使用反斜线转义字符串中的字符
    extract — 从数组中将变量导入到当前的符号表
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1629289.html
Copyright © 2011-2022 走看看