以下 C# 程序(使用 csc hello.cs
构建)仅在控制台上打印 Hello via Console!
并在中打印 Hello via OutputDebugString
调试 View 窗口。但是,我看不到任何一个 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" );
}
}
csc
是否需要一些特殊的命令行开关?
我的任何开发都没有使用 Visual Studio,这是纯命令行的东西。
最佳答案
调试时 System.Diagnostics.Debug.WriteLine
将显示在输出窗口中 (Ctrl+Alt+O),你也可以在Debug.Listeners
集合中添加一个TraceListener
来指定Debug.WriteLine
调用到其他位置的输出。
注意:如果在 工具< 菜单下选中了 Visual Studio 选项“将所有输出窗口文本重定向到立即窗口”,则 Debug.WriteLine
调用可能不会显示在输出窗口中/em> → 选项 → 调试 → 常规。要显示“工具 → 选项 → 调试”,选中“工具 → 选项”旁边的框 → 显示所有设置”。
关于c# - System.Diagnostics.Debug.Write 输出出现在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1159755/