c# - System.Diagnostics.Debug.Write 输出出现在哪里?

标签 c# debugging

以下 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/

相关文章:

c# - ASP.Net MVC 4 API 自定义方法名称

c# - 在ASP.NET Core中在 Controller OnActionExecuting之前执行全局过滤器

c# - 使用运行时多态

iphone - 应用程序总是在 main.m 中终止

java - Eclipse 在错误的行中显示异常

c# - 如何从 JavaScriptSerializer 生成的对象中提取信息

c# - 构建 JSON 配置部分

visual-studio - 使用 CMake 命令为 Visual Studio 设置断点

linux - kubernetes 中的子进程

javascript - 这是 chrome 中关于图像加载的错误吗?