There are four most possible reasons.
Reason 1: you actually started not the compilation result but some other file. Path to the executable to start is set on the "Debugging" page of the project properties.
Reason 2: you have optimization on. In this case the compiler only saves line of code - to compiled code information for some code and not for other. You'll see that after you press "step over" you actually jump several statements ahead or that you can't access some variables values. Either turn off optimization or switch from interactive debugging to logging.
Reason 3: the program database (the .pdb file storing bindings of lines of code to compiled code) is out of sync with the compiled file. "Rebuild" project usually helps.
Reason 4: the program database (see reason 3) in the folder where the executable is located is out of date because VS puts the program database elsewhere on each compilation). Path where to put the .pdb file is set in the linker properties of the project.