2011-12-10 86 views
1

我似乎不理解背后的概念跟踪调试中的类System.Diagnostic包!任何人都可以简单地告诉我他们的一切吗?如果您包含一些示例,我将不胜感激!C#中跟踪类和调试类的用法是什么?

+3

一个是用来帮助_trace_程序,另一个用来帮助_debug_它。这是不言而喻的。 –

回答

1

从MSDN

Debug

让你的代码更健壮,而不会影响您的运输产品的性能和代码 大小。

// Specify /d:DEBUG when compiling. 

using System; 
using System.Data; 
using System.Diagnostics; 

class Test 
{ 
    static void Main() 
    { 
     Debug.Listeners.Add(new TextWriterTraceListener(Console.Out)); 
     Debug.AutoFlush = true; 
     Debug.Indent(); 
     Debug.WriteLine("Entering Main"); 
     Console.WriteLine("Hello World."); 
     Debug.WriteLine("Exiting Main"); 
     Debug.Unindent(); 
    } 
} 

Tracing

跟踪可以帮助您隔离并修复问题,而不会干扰正在运行的系统

// Specify /d:TRACE when compiling. 

using System; 
using System.Diagnostics; 

class Test 
{ 
    static void Main() 
    { 
     Trace.Listeners.Add(new TextWriterTraceListener(Console.Out)); 
     Trace.AutoFlush = true; 
     Trace.Indent(); 
     Trace.WriteLine("Entering Main"); 
     Console.WriteLine("Hello World."); 
     Trace.WriteLine("Exiting Main"); 
     Trace.Unindent(); 
    } 
} 

How To Trace

+0

评论/ d:TRACE是为了什么? – Xris

+0

这些被称为条件属性,是编译器编译这些指令或不编译这些指令的指令。 so/d:Trace意味着编译器会编译所有的Trace指令,例如在给定的代码中,几乎所有的代码行都是精灵指令,所以它们将被编译,如果你不指定/ d:Trace则不会。 –