2

c# 和 .net 的新手,在 Visual Studio 2012 中工作。我希望能够将值显示到输出窗口以进行调试。我对监视窗口非常熟悉,但这不符合我目前的需求。

我最近的努力是从 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找到

我在上面代码之后的下一行添加了一个断点。当我到达断点时,我没有显示任何错误,并且我的输出窗口没有任何预期的内容。我确实有 using System.Diagnostics 集。

4

1 回答 1

3

如 MSDN 中所述,System.Diagnostics.Debug 将其消息写入所有订阅的 TraceListeners ( 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>
于 2013-03-01T22:59:34.947 回答