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
могут быть разбросаны по всему вашему коду, и вы можете контролировать их вывод с помощью слушателей, без необходимости перекомпилировать каждый раз, когда вы меняете место вывода. Круто, правда?
Смотрите также
Для большего количества улыбок и знаний, ознакомьтесь с этими ссылками:
- Официальная документация Microsoft по
Debug
: Класс Debug (System.Diagnostics) - Официальная документация Microsoft по
Trace
: Класс Trace (System.Diagnostics) - Глубокое погружение в слушателей и источники трассировки: Слушатели трассировки