2014-02-19 2 views
12

Я отлаживаю кусок кода на визуальной студии, и я забыл записать значения, которые я сохранил. Можно ли перейти к предыдущей строке без повторного запуска всего кода? Схожие вопросы заданы на SO, но в моем случае я не пропустил никаких ошибок или исключений. Код работает нормально.Возвращение к предыдущей строке при отладке на визуальной студии

ответ

18

После паузы в точке останова, щелкните правой кнопкой мыши по строке, на которой вы хотите «вернуться». В появившемся меню выберите «set next statement».

Это отрегулирует указатель инструкции для продолжения с указанной строки кода, но не будет откатывать любые переменные или адреса памяти до значений, которые они были до того, как эта строка кода была первоначально выполнена.

+0

Это тот ответ, который я искал! –

7

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

+0

Будет ли он откатывать значения моей переменной и указателей, что я сохранил часы? –

+0

@SrujanBarai Я боюсь, что нет; но я никогда не использовал эту функцию, поэтому я не уверен. – Angew

+0

Следующий ответ отвечает на этот вопрос в любом случае. К сожалению, это не так! –

5

Похоже, что вы хотите перемотать или воспроизвести свой код, а не просто перейти к определенной строке. Вы можете перейти к определенной строке, вы можете просто щелкнуть правой кнопкой мыши и выбрать set next statement. К сожалению, это не приведет к перемотке состояния программы в какой-то прошлый момент (помимо установки стека и небольшого разворота).

Для перемотки назад/воспроизведения вам нужно быть немного сложнее. Возможны следующие варианты: -

  • VMWare replay, который позволит вам записать, а затем вернуться к определенному моменту времени.
  • Intellitrace. Я не пробовал, но это позволяет вам переигрывать.

Это немного тяжеловес и не поможет вам прямо сейчас.

+0

Мне жаль, что я не мог задать несколько ответов как «Принято» на SO. Ну, это помогло, кстати. Благодарю. –

+1

@SrujanBarai - рад помочь. Удачи. – acarlon

Смежные вопросы