Компилятор при включенных оптимизациях может не сохранять
переменные. На время отладки нужно у C++ компилятора и линкера
отключить все оптимизации. Project -> Options, Category: C/C++
Compiler -> вкладка Optimizations, ставим none. Для линкера тоже cуществуют свои настройки. Чтобы не крутить настройки каждый раз и не возвращать назад, надо завести две "конфигурации" проекта. Одну для отладки, вторую для сборки конечного релиза.
При отладке программист ставит Debug конфигурацию проекта где свои настройки. При конечной сборке ставит Release / Production, где настройки на оптимизацию. Project -> Edit Configurations -> New ...