Я могу использовать Трассировку. WriteLine в режиме выпуска?
И каково основное различие между Трассировкой. Запишите и Отладка. Записать?
Оба варианта условно компилируются с помощью атрибута [Conditional]
.
Если в сборке определен флаг TRACE
, то вызовы класса Trace
приведут к записи трассировки. По умолчанию TRACE
определен как в режиме отладки, так и в режиме выпуска. Если флаг не определен, ничего не произойдет.
Если флаг DEBUG
определен, то вызовы класса Debug
приводят к записи вывода в поток отладки. По умолчанию DEBUG
определяется только в режиме отладки.
Другим важным отличием является то, что при трассировке легко настроить слушателей трассировки и позже решить, что вы хотите сделать с выводом трассировки. Она более гибкая, чем отладочный вывод, и в целом лучше подходит для протоколирования в производственном приложении.
Разница заключается в режиме Release.
Debug.Write не будет компилироваться в код, когда символ DEBUG не определен, т.е. при компиляции в режиме Release.
Однако Trace.Write будет компилироваться как в режиме Debug, так и в режиме Release.