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