Comments 31
полезно, спасибо :)
+3
как-то, после уже нескольких лет использования Visual Studio, я узнал, что при отладке можно потянуть желтую стрелочку, указывающую на текущую позицию выполнения программы, вверх и тем самым получить возможность еще раз выполнить уже выполненный код (изменив, например, некоторые переменные).
Было так стыдно, что не знал этого раньше.
Было так стыдно, что не знал этого раньше.
+1
Можно просто нажать Ctrl+Shift+F10 на нужной строчке, чтобы вернуть на нее управление. Что самое интересное, в главном меню этой команды почему-то нет ^_^
0
Right Click -> Set Next Statement
0
В главном меню
0
И?
В главном меню не содержатся все команды, им там не место. Данную конкретную команду поместили в контекстное меню, что совершенно правильно.
В главном меню не содержатся все команды, им там не место. Данную конкретную команду поместили в контекстное меню, что совершенно правильно.
-1
Отладочным командам место в меню Debug, я так считаю.
И много ты знаешь команд, которые недоступны через главное меню?
И много ты знаешь команд, которые недоступны через главное меню?
0
При переходе в главное меню теряется, в частности, визуальное отображение текущей строки — гасится курсор. Соответственно, куда именно будет перемещен результат выполнения «Set Next Statement» уже не видно, т.е. пользоваться уже не удобно.
>И много ты знаешь команд, которые недоступны через главное меню?
Посмотри Tools->Options->Environment->Keyboard. Там несколько сотен, возможно тысяч команд. Отнюдь не всем им требуется быть в главном меню.
>И много ты знаешь команд, которые недоступны через главное меню?
Посмотри Tools->Options->Environment->Keyboard. Там несколько сотен, возможно тысяч команд. Отнюдь не всем им требуется быть в главном меню.
0
Кстати для x64 это не работает. В настройках проекта можно выставить x86 и будет все норм.
А еще очень удобно перетащить «желтую стрелочку» вверх, тут же изменить значения у некоторых переменных и прогнать еще раз с другими параметрами.
А еще очень удобно перетащить «желтую стрелочку» вверх, тут же изменить значения у некоторых переменных и прогнать еще раз с другими параметрами.
0
Плюс к тому можно изменять код во время того, как остановлено выполнение программы.
Если заметили ошибку, можно переписать пару строчек и выполнить еще раз исправленный вариант без полного перезапуска приложения.
Если заметили ошибку, можно переписать пару строчек и выполнить еще раз исправленный вариант без полного перезапуска приложения.
0
А подскажите как можно это сделать?
0
А вы просто попробуйте. Остановите программу во время выполнения и допишите пару строчек кода. Конечно это не всесильный инструмент и Вам не удастся написать новые методы, которых раньше не существовало, изменить структуру try catch и прочие вещи, которые очень привязаны к ходу выполнения, но простой код меняется легко.
В итоге студия может: останавливать выполнение, перетаскивать точку выполнения вверх/вниз (пропуская или повторяя код), менять значения переменных на ходу, менять КОД на ходу. Некоторые ошибки благодаря этому отлавливаются и исправляются в считанные секунды. Вопросы будут, задавайте
В итоге студия может: останавливать выполнение, перетаскивать точку выполнения вверх/вниз (пропуская или повторяя код), менять значения переменных на ходу, менять КОД на ходу. Некоторые ошибки благодаря этому отлавливаются и исправляются в считанные секунды. Вопросы будут, задавайте
0
И я добавлю одну фичу, о которой узнал совсем недавно. Во время отладки в окошко Immediate Window можно вводить код, который выполняется в текущем контексте выполнения, тоже иногда бывает удобно.
+2
Терминология немного непривычная: thread обычно переводят как «поток исполнения» или просто «поток», часто встречается «нить».
Ещё плюшка: Shift+F11 (Step out), возврат в точку вызова функции. Удобно шарахаться по call stack.
Ещё плюшка: Shift+F11 (Step out), возврат в точку вызова функции. Удобно шарахаться по call stack.
0
Спасибо огромное, очень полезная информация. Похоже, рано или поздно придётся всё-таки купить 2010ю студию. Сделали бы они на неё скидку как на 2008ю в своё время…
0
Если вы хотите покупать 2010 студию, чтобы получить этот функционал в отладчике, то он весь есть и в 2008-ой студии. А если для всех удобств и новшеств для .NET 4, MVC 2, тогда да есть смысл.
0
извините, не совсем по теме…
Silverlight обновился до 4й версии и перестал работать дебуг сильверлайт приложений.
Что делать?
Silverlight обновился до 4й версии и перестал работать дебуг сильверлайт приложений.
Что делать?
0
Чем больше работаю со студией, тем больше нахожу в ней «плюшек». Спасибо Вам и Скотту :).
ПС: Я бы воспользовался Debug.Write(); вместо написания макроса.
ПС: Я бы воспользовался Debug.Write(); вместо написания макроса.
0
Пожалуйста. :)
Всегда хорошо, когда есть много способов сделать одно и то же.
Но видимо он нас хотел научить как писать макросы. :)
Всегда хорошо, когда есть много способов сделать одно и то же.
Но видимо он нас хотел научить как писать макросы. :)
0
Sign up to leave a comment.
Советы по отладке в Visual Studio 2010