Трассировка. WriteLine в режиме выпуска?

Я могу использовать Трассировку. WriteLine в режиме выпуска?

И каково основное различие между Трассировкой. Запишите и Отладка. Записать?

14
задан Peter Mortensen 25 June 2015 в 23:46
поделиться

2 ответа

Оба варианта условно компилируются с помощью атрибута [Conditional].

Если в сборке определен флаг TRACE, то вызовы класса Trace приведут к записи трассировки. По умолчанию TRACE определен как в режиме отладки, так и в режиме выпуска. Если флаг не определен, ничего не произойдет.

Если флаг DEBUG определен, то вызовы класса Debug приводят к записи вывода в поток отладки. По умолчанию DEBUG определяется только в режиме отладки.

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

16
ответ дан 1 December 2019 в 12:13
поделиться

Разница заключается в режиме Release.

Debug.Write не будет компилироваться в код, когда символ DEBUG не определен, т.е. при компиляции в режиме Release.

Однако Trace.Write будет компилироваться как в режиме Debug, так и в режиме Release.

2
ответ дан 1 December 2019 в 12:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: