#if 调试似乎不起作用

本文关键字:不起作用 调试 #if | 更新日期: 2023-09-27 18:32:27

我的 C# 应用处于调试模式。我正在尝试使用Debug.WriteLine(xxx),但没有任何东西写入控制台。我正在使用带有 C# 的 VS 2013 社区。我在 cs 文件的开头,在 using 语句上方 #define DEBUG,然后在 Debug.WriteLine() 语句之前 #IF DEBUG,但没有任何反应。没有错误。

#if 调试似乎不起作用

默认情况下,调试输出不会重定向到控制台。

您可以创建一个 ConsoleTraceListener 实例并添加到跟踪侦听器中,这将使调试输出转到控制台:

using (ConsoleTraceListener listener = new ConsoleTraceListener()) {
  Trace.Listeners.Add(listener);
  Debug.WriteLine("test");
}

您也可以在配置中执行此操作,以便它适用于应用程序,而无需添加代码。例:

<configuration>
  <system.diagnostics>
    <trace autoflush="false" indentsize="4">
      <listeners>
        <add name="configConsoleListener"
             type="System.Diagnostics.ConsoleTraceListener" />
      </listeners>
    </trace>
  </system.diagnostics>
 </configuration>

参考:控制台跟踪侦听器类

您是否检查过Visual Studio的输出控制台?如果在 Visual Studio 中运行应用(=调试),则调试输出将转发到那里。