#if DEBUG Always True для режимов DEBUG и RELEASE - PullRequest
6 голосов
/ 03 августа 2011

По какой-то причине любой код, такой как:

#if DEBUG
    CallSomeMethod();
#endif

Всегда верен независимо от режима отладки или выпуска.Есть идеи, почему и какие настройки я могу использовать, чтобы включить или выключить эту функцию?Для проекта определите, что для константы DEBUG установлено значение true.

Спасибо.

Ответы [ 4 ]

14 голосов
/ 03 августа 2011

Вы должны иметь возможность выбрать режим релиза в свойствах вашего проекта. Щелкните правой кнопкой мыши свой проект, выберите «Свойства» и щелкните вкладку «Сборка» в левой части окна. Оттуда вы можете снять флажок «определить константу DEBUG». Убедитесь, что вы делаете это для сборки выпуска, а не для режима отладки.

enter image description here

5 голосов
/ 03 августа 2011

Похоже, вы отвечаете на свой вопрос:

Для проекта определите, что для константы DEBUG установлено значение true.

Это должно быть установлено только условно в файле сборки, и не всегда.

0 голосов
/ 03 августа 2011

Когда #if DEBUG, код будет опущен в оттенки серого, когда вы находитесь в режиме выпуска, вы можете видеть, что вы используете Visual Studio IDE.если это не так, возможно, они, как @Kragen, предложили вам определить DEBUG где-то в вашем классе, чтобы это также повлияло на выпуск.

0 голосов
/ 03 августа 2011

Это будет связано с тем, что константа DEBUG также имеет значение для режима деблокирования.

В режиме сборки нет ничего особенного - это просто набор параметров сборки с именем. Если вы хотите, вы можете создать режим «Release» со всеми обычными настройками режима «Debug» (и наоборот).

...