为什么调试仍然写入输出

本文关键字:输出 调试 为什么 | 更新日期: 2023-09-27 17:56:32

我已经像这样设置了调试:

TextWriterTraceListener[] listeners = new TextWriterTraceListener[] 
{
      new TextWriterTraceListener("C:''debugROAR.txt")
      //new TextWriterTraceListener(Console.Out)
};
Debug.Listeners.AddRange(listeners);
Debug.WriteLine("Some Value", "Some Category");
Debug.WriteLine("Some Other Value");
Debug.AutoFlush = true;

但是,Console.Out 现在已经被注释掉了 - 但它仍然写入控制台?我该如何阻止这种情况?我只想写入文件。

为什么调试仍然写入输出

默认跟踪侦听器仍附加。使用.Clear()或类似方法将其删除:

TextWriterTraceListener[] listeners = new TextWriterTraceListener[] 
{
      new TextWriterTraceListener("C:''debugROAR.txt")
      //new TextWriterTraceListener(Console.Out)
};
Debug.Listeners.Clear(); // Remove the default listener
Debug.Listeners.AddRange(listeners);
Debug.WriteLine("Some Value", "Some Category");
Debug.WriteLine("Some Other Value");
Debug.AutoFlush = true;