Вопрос

Я смотрю на какой-нибудь код C # и столкнулся с следующим утверждением:

#if DEBUG
    // Do something here
#else
    // Do something else
#endif

Я предположил, что отладка будет определена где-то следующим образом:

#define DEBUG

Но я не могу найти такое определение, хотя код, кажется, ведет себя так, как будто он был установлен. Отладка особого случая, и если да, то как он устанавливается / unset?

Это было полезно?

Решение

На проекте, перейдите к Properties -> Build. Отказ Под общем, у вас есть вариант там для определения обоих DEBUG а также TRACE.

Другие советы

Это установлено с #define Директива или в Настройки компилятора. Отказ Обычно для отладки будет определена в отладке релизов, поэтому вы можете условно скомпилировать какой-то код, как в вашем примере.

Вы можете прочитать больше об этом на MSDN.

Если вы посмотрите в свойствах проекта, вы найдете отладочную опцию отладки, вы можете сделать в C #:

[Conditional("Debug")]
public void DebugThis()
{
}

Вы также можете определить константы условных компиляций отладки и трассировки под вкладкой «Создание свойств проекта». Для этого экземпляра, Определите константу отладки Флажок, вероятно, проверяется на ваш проект.

Подробнее @ MSDN.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top