В чем разница между классом Debug и классом Trace? [Дубликат]

На этот вопрос уже есть ответ здесь:

Трассировка против отладки в .NET BCL 7 ответов

Я пытаюсь написать лучшую логику обработки ошибок и отладки в одном из наших приложений. Может кто-нибудь объяснить разницу между классом Debug и Trace? Документация выглядит довольно похоже. Я хочу использовать эти классы вместе с NLog, чтобы улучшить наши усилия по отладке.

 Max Kilovatiy24 июл. 2014 г., 08:04
Еще один разговор об этой проблемеstackoverflow.com/questions/179868/trace-vs-debug-in-net-bcl

Ответы на вопрос(2)

Debug а такжеTrace классы имеют очень похожие методы. Основное отличие состоит в том, что звонки наDebug Класс обычно включается только в сборку Debug, а Trace включается во все сборки (Debug и Release). Вы можете управлять этим через флаги компилятора DEBUG и TRACE. Если вы посмотрите на документацию для обоих, вы заметитеConditionalAttribute аннотируя методы. Это приводит к тому, что вызовы методов включаются в двоичные файлы, только когда определен соответствующий флаг компилятора. Вы можете определить свой собственный флаг компилятора и использовать его вместе сConditionalAttribute аналогичным образом. Обратите внимание, что если вы используете это, методы не удаляются из скомпилированных двоичных файлов. Сайты вызовов изменены, чтобы удалить вызовы метода.

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

Ваш ответ на вопрос