2013-03-01 53 views
2

c#和.net的新手,在Visual Studio 2012中工作。我希望能夠爲了調試目的而將值顯示到輸出窗口。我對鐘錶窗口非常熟悉,但這並不符合我目前的需求。c#asp.net debug.writeline寫入哪裏?

我最近的努力,我從msdn網站採取了確切的示例。

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(); 

這個例子可以在http://msdn.microsoft.com/en-us/library/system.diagnostics.debug%28v=vs.71%29.aspx

找到我上述代碼之後添加一個斷點上的非常下一行。當我打斷點時,我沒有顯示錯誤,而且我的輸出窗口沒有任何預期的內容。我確實使用了System.Diagnostics集。

回答

3

如MSDN中所述,System.Diagnostics.Debug將其消息寫入所有訂閱的TraceListener(http://msdn.microsoft.com/en-us/library/system.diagnostics.tracelistener.aspx)。請注意,編譯程序時應該使用#define TRACE或添加/ d:TRACE。你可以像這樣在配置文件中設置你的監聽器。

<configuration> 
    <system.diagnostics> 
    <trace autoflush="false" indentsize="4"> 
     <listeners> 
     <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="TextWriterOutput.log" /> 
     <remove name="Default" /> 
     </listeners> 
    </trace> 
    </system.diagnostics> 
</configuration> 
+0

注意:調試和跟蹤不會按預期進入輸出窗口,而是寫入配置中的文件集。在這個例子中,這個文件名是TextWriterOutput.log。 – Tom 2013-03-04 13:53:01