C# 中的 Debug.WriteLine() - 它有什么作用?

7 c# visual-studio

我想知道有什么Debug.WriteLine()作用。我一直在许多不同的代码中看到它,但我不明白它应该做什么。

到目前为止我发现了什么:

“将有关调试的信息写入 Listeners 集合中的跟踪侦听器。”

joh*_*nel 10

它将在 Visual Studio 底部的输出窗口中显示消息/文本,您可以使用它记录一些诸如“构造函数刚刚启动”之类的操作,然后更容易找到错误出现的位置。另一件事是您可以将变量添加到调试输出中,例如:

Debug.WriteLine("Debug message:Shop.Add.Product({0})", Product);
Run Code Online (Sandbox Code Playgroud)

在这里检查:Debug.WriteLine 方法


Ren*_*ogt 5

这可用于跟踪或记录调试版本中的消息。仅当您的程序被编译为调试版本(已DEBUG定义符号)时才会执行它。

您可以创建自己的TraceListeners 来捕获消息并根据需要记录它们。为此,您必须继承抽象TraceListener类:

public class MyListener : TraceListener
{
    public override void Write(string message)
    {
        // log to file or db or whatever you need
    }
    public override void WriteLine(string message)
    {
        // log to file or db or whatever you need
    }
}
Run Code Online (Sandbox Code Playgroud)

然后你必须注册你的监听器的实例:

public static void Main()
{
     MyListener listener = new MyListener();
     Debug.Listeners.Add(listener);
     
     // this ends up in MyListener.WriteLine, but only in a debug version
     Debug.WriteLine("This is a debug log message");

     Debug.Listeners.Remove(listener);
}
Run Code Online (Sandbox Code Playgroud)

进一步阅读:如何:创建和初始化跟踪侦听器

Visual Studio 在调试时始终添加自己的消息TraceListener,并将消息输出到输出窗口的调试窗格。