Похоже, вы отлаживаете оптимизированную сборку.
Отладчик «знает» значение ваших локальных переменных, потому что файл символов описывает их расположение в кадре стека функций.
Затем отладчик может считывать переменные из памяти целевого процесса. Однако для этого требуется, чтобы кадр стека содержал актуальные копии локальных переменных. При компиляции без оптимизации сгенерированный код всегда будет записывать локальные переменные обратно в места расположения их стека каждый раз, когда они модифицируются. Это облегчает отладку, но стоит во время выполнения.
Для оптимизированной сборки компилятор часто делает вывод, что эти шаги не нужны, и сохраняет значение в регистре процессора столько времени, сколько необходимо. Вполне возможно, что локальная переменная вообще не получает значения, записанного в стек. В этом случае отладчик не может отслеживать значение переменной, но также не знает об этом и часто сообщает о данных из стека, как если бы это было значение переменной.