В режиме отладки переменные не инициализируются, они заполняются значением, которое выбрано, чтобы вызывать проблемы при использовании (ненулевое, достаточно высокое, чтобы часто вызывать переполнение) и быть распознаваемым.
Мое приложение как-то закрыто только в режиме разблокировки
Сначала нужно определить, что это за выключение.Это сбой, прерывание или закрытие?Поместите точку останова на все возможные точки выхода (как обычные, как WM_CLOSE), так и нерегулярные, как _abort.
Если ни одна точка останова не достигнута, по крайней мере, скопируйте выходные данные отладки здесь, чтобы увидеть, что говорит о том, какосновной поток был прерван (какой код результата или что-либо еще, что могло бы дать больше информации).
Чтобы суммировать различия между отладкой и выпуском:
- debug инициализирует динамически распределенные переменные неверным значением (это выполняется библиотекой времени выполнения отладки, управляемой генерацией кода / библиотекой выполнения)
- debug инициализирует переменные, выделенные стеком, с неверным значением (управляется проверкой генерации кода / базовыми проверками времени выполнения - / RTC)
- оптимизация отключена в отладке (управляется параметрами оптимизации - / O)
- определены различные макросы (_DEBUG против NDEBUG) (управляются определениями препроцессора / препроцессора)
Вы можетеотрегулируйте настройки режима релиза по одному, чтобы они соответствовали настройкам отладки доОматическое отключение "останавливается.Тогда вы будете знать, какую проблему искать.