2011-12-10 27 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則不會。 –