Есть ли в Visual Studio определение препроцессора, например _DEBUG, для запуска релиза с отладкой? - PullRequest
0 голосов
/ 09 ноября 2018

В Visual Studio вы можете различать режимы отладки и выпуска, используя определение _DEBUG. Но даже в режиме выпуска вы можете либо «Начать отладку» (F5), либо «Начать без отладки» (Ctrl + F5). Есть ли определение препроцессора, которое различает их?

1 Ответ

0 голосов
/ 11 ноября 2018

Start Debugging означает Запустите вашу программу в отладчике .

Запуск без отладки означает Запустите вашу программу нормально .

Поскольку вы выбираете одно из этих действий после сборки программы (либо в Debug, либо Release), не может быть никакого макроса препроцессора или другой разницы во время компиляции между действиями.

Сборка Debug вашей программы может быть запущена в отладчике, и она может быть запущена обычно. Сборку Release вашей программы также можно запустить в отладчике, или обычно. Но если вы запускаете сборку Release в отладчике, отладчик умение корректно или вообще представлять внутреннее состояние программы в любое время данная точка может быть затруднена из-за отсутствия правильной отладочной информации.

Похоже, вы хотите эффективно запускать сборку Release в отладчике.

Ничто не мешает вам конфигурировать вашу сборку релиза для генерации отладочная информация, такая как сборка отладки: она просто не используется по умолчанию. См. Как выполнить отладку сборки выпуска

Вероятно, это будет временная мера. Во время отладки сборки Release в этом Кстати, из-за оптимизаций режима выпуска иногда наблюдаемый поток программ может иногда показаться неожиданным.

...