我正在尝试将一条消息写入输出窗口以进行调试.我搜索了像Java这样的函数system.out.println("").我想Debug.Write,Console.Write和Trace.Write.它不会出错,但也不会打印任何内容.
选中"定义DEBUG常量"和"定义TRACE常量"选项.
菜单工具 → 选项 → 调试 → "将所有输出窗口文本重定向到立即窗口"选项未选中.
配置:活动(调试)
注意:如果相关,我创建了一个项目,向导为"Windows窗体应用程序".我不知道在哪里看.
以下C#程序(内置csc hello.cs)仅Hello via Console!在控制台和Hello via OutputDebugStringDebugView窗口中打印.但是,我看不到任何一个System.Diagnostics.*电话.这是为什么?
using System;
using System.Runtime.InteropServices;
class Hello {
[DllImport("kernel32.dll", CharSet=CharSet.Auto)]
public static extern void OutputDebugString(string message);
static void Main() {
Console.Write( "Hello via Console!" );
System.Diagnostics.Debug.Write( "Hello via Debug!" );
System.Diagnostics.Trace.Write( "Hello via Trace!" );
OutputDebugString( "Hello via OutputDebugString" );
}
}
Run Code Online (Sandbox Code Playgroud)
是否需要一些特殊的命令行开关csc?
我没有使用Visual Studio进行任何开发,这是纯粹的命令行.
我的单元中的任何调用都会测试,Debug.Write(line)或者Console.Write(Line)只是在调试时跳过,并且从不打印输出.从我正在使用的类中调用这些函数.
我知道单元测试是自动化的,但我仍然希望能够从单元测试中输出消息.