Пожалуйста, потому и решил перевести. Часть этих советов я читал в какой-то книге по .NET 3.5 и тоже тогда узнал, что не все о них знают. А сейчас руки дошли и статья попалась хорошая для перевода. :)
как-то, после уже нескольких лет использования Visual Studio, я узнал, что при отладке можно потянуть желтую стрелочку, указывающую на текущую позицию выполнения программы, вверх и тем самым получить возможность еще раз выполнить уже выполненный код (изменив, например, некоторые переменные).
Было так стыдно, что не знал этого раньше.
Можно просто нажать Ctrl+Shift+F10 на нужной строчке, чтобы вернуть на нее управление. Что самое интересное, в главном меню этой команды почему-то нет ^_^
При переходе в главное меню теряется, в частности, визуальное отображение текущей строки — гасится курсор. Соответственно, куда именно будет перемещен результат выполнения «Set Next Statement» уже не видно, т.е. пользоваться уже не удобно.
>И много ты знаешь команд, которые недоступны через главное меню?
Посмотри Tools->Options->Environment->Keyboard. Там несколько сотен, возможно тысяч команд. Отнюдь не всем им требуется быть в главном меню.
Кстати для x64 это не работает. В настройках проекта можно выставить x86 и будет все норм.
А еще очень удобно перетащить «желтую стрелочку» вверх, тут же изменить значения у некоторых переменных и прогнать еще раз с другими параметрами.
Плюс к тому можно изменять код во время того, как остановлено выполнение программы.
Если заметили ошибку, можно переписать пару строчек и выполнить еще раз исправленный вариант без полного перезапуска приложения.
А вы просто попробуйте. Остановите программу во время выполнения и допишите пару строчек кода. Конечно это не всесильный инструмент и Вам не удастся написать новые методы, которых раньше не существовало, изменить структуру try catch и прочие вещи, которые очень привязаны к ходу выполнения, но простой код меняется легко.
В итоге студия может: останавливать выполнение, перетаскивать точку выполнения вверх/вниз (пропуская или повторяя код), менять значения переменных на ходу, менять КОД на ходу. Некоторые ошибки благодаря этому отлавливаются и исправляются в считанные секунды. Вопросы будут, задавайте
И я добавлю одну фичу, о которой узнал совсем недавно. Во время отладки в окошко Immediate Window можно вводить код, который выполняется в текущем контексте выполнения, тоже иногда бывает удобно.
Спасибо за замечание исправил на «поток». Кода переводил думал о том, что есть более стандартное для программистов слово, но почему-то его не вспомнил хотя знаю. :)
Спасибо огромное, очень полезная информация. Похоже, рано или поздно придётся всё-таки купить 2010ю студию. Сделали бы они на неё скидку как на 2008ю в своё время…
Если вы хотите покупать 2010 студию, чтобы получить этот функционал в отладчике, то он весь есть и в 2008-ой студии. А если для всех удобств и новшеств для .NET 4, MVC 2, тогда да есть смысл.
Спасибо за перевод.
Возможно, есть смысл написать, что некоторые возможности недоступны в Express Edition. Например, при ПКМ на breakpoint'e в VS 2008 Express Edition можно только удалить или деактивировать её.
Советы по отладке в Visual Studio 2010