Вывод отладочной информации

C#:
Вывод отладочной информации

Как:

Просто как дважды два: используйте Console.WriteLine(), чтобы печатать в консоль вывода. Специально для целей отладки Debug.WriteLine() может стать вашим выбором, если у вас в директивах using есть System.Diagnostics. Если ваша цель — приложение с пользовательским интерфейсом, то Trace.WriteLine() может стать нужным инструментом, поскольку он позволяет слушателям захватывать вывод.

using System;
using System.Diagnostics;

public class DebugExample
{
    public static void Main()
    {
        int magicNumber = 42;
        Console.WriteLine("Привет, товарищи! Давайте отлаживаться.");
        Debug.WriteLine($"Магическое число: {magicNumber}");

        // Представим, что здесь у нас условие
        Trace.WriteLine("Мы в матрице!");
    }
}

Вывод в консоль будет выглядеть так:

Привет, товарищи! Давайте отлаживаться.

Отладочная информация, видимая в окне отладочного вывода вашей среды разработки или слушателя, будет следующей:

Магическое число: 42
Мы в матрице!

Глубокое погружение

Давайте путешествовать во времени. Когда C# был новичком, люди отлаживали программу с помощью окон сообщений — представьте, как приходилось нажимать ‘OK’ сотни раз. Но инструменты развиваются. Метод ‘Console.WriteLine()’ является надежным, быстрым способом выводить данные, лучше всего подходящим для консольных приложений. Однако, когда вы перешли от консольных приложений к разработке приложений Windows Forms или WPF, например, ‘Debug.WriteLine()’ и ‘Trace.WriteLine()’ из пространства имен System.Diagnostics становятся более привлекательными.

‘Debug.WriteLine()’ выводит данные только тогда, когда сборка находится в режиме отладки; в режиме выпуска он молчит. Это поведение делает его аккуратным для временных отладочных печатей, о которых вам не нужно беспокоиться позже. С другой стороны, ‘Trace.WriteLine()’ может быть включен как для сборок отладки, так и для выпуска, что может помочь в отслеживании проблем после развертывания.

Стоит отметить, что вызовы Debug и Trace могут быть разбросаны по всему вашему коду, и вы можете контролировать их вывод с помощью слушателей, без необходимости перекомпилировать каждый раз, когда вы меняете место вывода. Круто, правда?

Смотрите также

Для большего количества улыбок и знаний, ознакомьтесь с этими ссылками: