我没有在控制台或Visual Studio的输出面板中看到任何输出:
Debug.Write("WriteStatements() was reached")
输出到哪里?
答案 0 :(得分:16)
Zhaph的回答已经告诉你一种方法来获得Debug.Write
的输出。
在幕后,Debug.Write
的默认侦听器即System.Diagnostics.DefaultTraceListener
调用Windows API函数OutputDebugString
。
传递给该函数的任何消息都可以由调试器显示,例如您将在Visual Studio的输出窗口中看到输出。
查看Debug.Write
和/或Trace.Write
输出的另一种非常简单的方法是使用来自Sysinternals的工具DebugView:
DebugView是一个允许的应用程序 您监视本地的调试输出 系统或网络上的任何计算机 您可以通过TCP / IP访问。它是 能够同时显示内核模式 和Win32调试输出,所以你没有 需要一个调试器来捕获调试 输出您的应用程序或设备 驱动程序生成,也不需要 修改您的应用程序或驱动程序 使用非标准的调试输出API。
请注意,Debug.Write
语句不会包含在Release版本中,因此您只能在Debug版本中看到输出。
答案 1 :(得分:15)
它写入默认的跟踪侦听器,您需要打开它:
如果您希望将此指向控制台,则需要添加ConsoleTraceListener的实例:
在.config文件中,请确保您拥有以下条目:
<configuration>
<system.diagnostics>
<trace autoflush="false" indentsize="4">
<listeners>
<add name="configConsoleListener"
type="System.Diagnostics.ConsoleTraceListener" />
</listeners>
</trace>
</system.diagnostics>
</configuration>
您可能还需要确保在编译项目时包含/d:TRACE
标志以启用输出。