如何防止编译器在mstest中优化对Trace.Write()和Debug.Write()的调用

时间:2012-09-11 19:39:55

标签: .net visual-studio-2010

以前在同一个项目中工作,但现在不起作用。我在本网站或其他地方找到的任何相关问题中提出的解决方案都没有任何运气。

我编写了一个程序来执行一些长时间运行的进程,我已经将代码放入一个只包含mstest项目的解决方案中,而且更愿意避免使用任何类型的U / I。我想在Output窗口中发出一些状态,使用类似于以下的代码:

if (counter % 100 == 0)
{
    Trace.WriteLine(string.Format("Inserted {0} records into {1}.", counter, proprietaryDetails));
}

我使用IDE运行测试,而不是命令行。输出窗口中没有任何内容。我在调试时无法在Debug.Write()或Trace.Write()语句中设置断点。

我做了以下事情:

  1. 确保我在调试模式下构建项目。
  2. 当我右键单击输出窗口
  3. 时,确保选中“程序输出”
  4. 尝试使用Ctrl-R + T和Ctrl-R + Ctrl-T进行调试和运行测试。
  5. 我没有.config文件可能会禁用默认跟踪侦听器。
  6. 感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

也许以下内容会有所帮助?

TextWriterTraceListener myWriter = newTextWriterTraceListener(System.Console.Out);
Debug.Listeners.Add(myWriter);
Trace.Listeners.Add(myWriter);