«Начать без отладки» просто сообщает Windows, что приложение запускается в обычном режиме.
«Начать с отладки» запускает отладчик VS и запускает приложение в отладчике.
На самом деле это не имеет ничего общего с настройками сборки отладки / выпуска.
Когда вы создаете конфигурацию «отладки» по умолчанию для своего приложения, у вас будут следующие основные отличия от сборки выпуска:
- Созданный код не будет оптимизирован, поэтому его легче отлаживать, потому что он более тщательно соответствует вашему источнику
- Компилятор и компоновщик выведут файл .PDB, содержащий много дополнительной информации, чтобы помочь отладчику - наличие или отсутствие этой информации не влияет на производительность кода, только на простоту отладки.
- Условные макросы, такие как ASSERT и VERIFY, не выполняются в сборке выпуска, но активны в сборке отладки.
Каждый из этих элементов является независимым и необязательным! Вы можете включить или выключить любой из них или все и по-прежнему запускать код в отладчике, вы просто не найдете жизнь такой легкой.
Когда вы запускаете «с отладкой», все работает по-разному по нескольким причинам:
- Отладчик VS очень неэффективен при запуске, отчасти потому, что все в VS работает медленно - в версиях до VS2010 каждый пиксель экрана будет перерисован примерно в 30 раз, когда IDE переходит в режим отладки с большим количеством миганий и мерцаний.
- В зависимости от того, как все настроено, отладчик может потратить много времени при запуске, пытаясь загрузить символы (т. Е.PDB files) для множества компонентов ОС, которые являются частью вашего процесса - он может попытаться получить эти файлы через Интернет, что в некоторых случаях может занять много времени.
- Ряд действий, которые обычно выполняет ваше приложение (загрузка библиотек DLL, запуск потоков, обработка исключений), вызывают предупреждение отладчика. Это замедляет их работу и заставляет их работать последовательно.
ответ дан 30 November 2019 в 21:10
поделиться