Существует четыре наиболее вероятных причины.
Причина 1: вы фактически запустили не результат компиляции, а какой-то другой файл. Путь к исполняемому файлу для запуска задается на странице «Отладка» свойств проекта.
Причина 2: у вас включена оптимизация. В этом случае компилятор сохраняет только строку кода - для информации скомпилированного кода для одного кода, а не для другого. Вы увидите, что после того, как вы нажмете «шаг за шагом», вы на самом деле прыгаете на несколько операторов вперед или что вы не можете получить доступ к некоторым значениям переменных. Либо отключите оптимизацию, либо переключитесь с интерактивной отладки на запись в журнал.
Причина 3: база данных программы (файл .pdb, хранящий привязки строк кода к скомпилированному коду) не синхронизирована с скомпилированным файлом. Проект «Перестройка» обычно помогает.
Причина 4: база данных программы (см. Причину 3) в папке, где расположен исполняемый файл, устарела, поскольку VS помещает базу данных программы в другое место при каждой компиляции). Путь, куда поместить файл .pdb, задается в свойствах компоновщика проекта.