我试图写一个消息到输出窗口调试的目的。我搜索了一个类似Java的system.out.println("")的函数。我尝试了调试。写,控制台。Write和Trace.Write。它不会给出错误,但也不会打印任何东西。

“定义调试常量”和“定义跟踪常量”选项被选中。

菜单工具→选项→调试→“将所有输出窗口文本重定向到立即窗口”选项未选中。

配置:活动(调试)

注意:如果相关的话,我用向导创建了一个“Windows窗体应用程序”项目。我不知道去哪里找。


当前回答

以下是我在Visual Studio 2015中的工作:

OutputDebugStringW(L"Write this to Output window in VS14.");

在这里阅读OutputDebugStringW的文档。

注意,此方法仅在调试代码时有效(调试模式)。

其他回答

这不是对原来问题的回答。但是,由于我在搜索交互式转储对象数据的方法时发现了这个问题,我认为其他人可能会从提到这个非常有用的替代方法中受益。

我最终使用命令窗口并进入调试。打印命令,如下所示。这打印了一个内存对象的格式,可以复制为文本,这是我真正需要的。

> Debug.Print <item>

  id: 1
  idt: null
  igad: 99
  igbd: 99
  gl_desc: "New #20"
  te_num: "1-001-001-020"

以下是我在Visual Studio 2015中的工作:

OutputDebugStringW(L"Write this to Output window in VS14.");

在这里阅读OutputDebugStringW的文档。

注意,此方法仅在调试代码时有效(调试模式)。

对于任何使用NCrunch的人来说,调试输出被重定向到NCrunch的“跟踪输出”窗口。

调用

System.Diagnostics.Debug.WriteLine("message");

在使用. net Core (V 1.0或1.1)时失败。

我们应该创建并使用来自Microsoft.Extensions的日志记录器。日志,但是该日志只出现在dotnet.exe弹出控制台窗口中,而不是在Visual Studio的输出窗口中。

对我来说,只有Trace名称空间而不是Debug名称空间有效:

System.Diagnostics.Trace.WriteLine("message");

我在Visual Studio 2010下的一个c#项目中工作。