Как вы упомянули,
Console.WriteLine выполняет запись в стандартный поток вывода, либо в режиме отладки, либо в выпуске. Debug.WriteLine выполняет запись в прослушиватели трассировки в коллекции Listeners, но только при запуске в режиме отладки. Когда приложение скомпилировано в конфигурации выпуска, элементы Debug не будут скомпилированы в код.
Короче говоря, если вы хотите показать сообщение своему пользователю в консольном приложении, вы можетеиспользуйте Console.WriteLine
, если ваша цель исключительно для отладки, рекомендуется использовать Debug.WriteLine
.
Но мы знаем, что мы не должны печатать всю отладочную информацию в режиме выпуска, поэтому мы должны использовать Trace.WriteLine()
в режиме выпуска. В режиме отладки мы можем видеть выходные данные как Debug.WriteLine()
, так и Trace.WriteLine()
.
. Для получения дополнительной информации вы можете проверить этот документ: Как отслеживать и отлаживать в Visual C #
Из этого документа мы найдем:
Вы можете использовать классы Trace и Debug по отдельности или вместе в одном приложении. В проекте конфигурации решения отладки активны как трассировка, так и отладка. Проект генерирует выходные данные из обоих этих классов для всех объектов Listener. Однако проект Configuration Release Release генерирует выходные данные только из класса Trace. Проект Release Solution Configuration игнорирует любые вызовы метода класса Debug. "
Следующая ссылка может быть полезной для вас.
Местоположение журналов трассировки, где их просматривать
https://docs.microsoft.com/en-us/visualstudio/debugger/how-to-set-debug-and-release-configurations?view=vs-2015&redirectedfrom=MSDN