Подтвердить что ты не робот

В чем разница между debug.write и Trace.write?

В чем разница между debug.write и Trace.write? Когда каждый должен использоваться?

4b9b3361

Ответ 1

В типичной конфигурации сборки релиза класс Debug отключен и ничего не делает. Trace, однако, все еще можно использовать в релизе. Обычно вы используете Debug.Write для вещей, которые вам нужны только при отладке и которые слишком многословны для производства.

Вот хорошая статья о Debug, Trace и т.д.: http://www.codeproject.com/KB/trace/debugtreatise.aspx

Однако я больше склонен использовать библиотеки ведения журнала, такие как log4net, которые можно переконфигурировать "на лету". Таким образом, вы можете включить полный вход в систему, если вы изучаете проблемы с вашим приложением.

Ответ 2

Debug.Write действует только на сборках, где определяется флаг DEBUG, а Trace.Write действует только при определении флага TRACE.

Ответ 3

Одно из отличий заключается в том, что DEBUG определен (по умолчанию) только в конфигурации сборки проекта Debug и TRACE определен (опять же по умолчанию) в конфигурации отладки и выпуска. (По крайней мере, в VS 2015.)

Вы можете изменить поведение по умолчанию для каждого проекта в свойствах проекта.

Debug: введите описание изображения здесь

Release: введите описание изображения здесь