Редактирование кода в Visual Studio 2008 в режиме отладки
Мне любопытно узнать, есть ли способ редактировать код в С# VS 2008 прямо, когда он попал в точку останова, и я иду через код... Могу ли я изменить код (например, значение в переменной или если моя строка шагов будет удаляться в оператор if... могу ли я изменить инструкцию if... и т.д.)?
До сих пор мне пришлось прекратить запуск VS, изменить код, затем нажать F5 и подождать, пока точка останова не будет снова удалена.
Когда точка останова попадает, и я иду через код, и я пытаюсь отредактировать код, я получаю сообщение "Изменения не допускаются, когда отладчик подключен к уже запущенному процессу отлаживаемого кода. оптимизированный при сборке или времени выполнения".
Ответы
Ответ 1
Есть несколько причин, по которым я знаю, почему Edit + Continue будет отключен в сборке Debug. В первую очередь это 64-разрядная операционная система, E + C работает только для 32-битного кода. Исправьте это с помощью Project + Properties, вкладкой Build, Platform Target = x86.
Это также опция, которая могла быть отключена. Инструменты + Опции, Отладка, Изменить и продолжить, Включить флажок.
Если это не помогает, расскажите нам немного больше о том, какой код вы отлаживаете, шаблон проекта, который вы выбрали при запуске проекта, как вы отделили отладчик, и трассировку стека, скопированную с Окно "Стек вызовов".
Ответ 2
Да, вы можете.
Это называется Изменить и продолжить.
Обратите внимание, что у него есть ограничения .
EDIT: вам нужно переключиться на сборку отладки.
Ответ 3
Чтобы изменить значение переменной или установить свойство в режиме разрыва, перейдите в окно "Немедленное", установите новое значение и нажмите "Возврат", например.
strValue = "newValue"
Calendar1.Enabled = true
Чтобы получить значение, вы можете просто распечатать его в окне e.e.
?strValue
?Calendar1.Enabled
Ответ 4
- Прекратите выполнение своего приложения.
- Перейдите в раздел Инструменты > Параметры > Отладкa > Изменить и продолжить
- Отключить "Включить редактирование и продолжить".
Ответ 5
В ответ на этот вопрос:
Могу ли я изменить код (например, значение в переменной или если пошаговая строка вот-вот ударит, если выражение... могу ли я изменить if выражение.... и т.д.)?
Вы не можете поместить новое значение в переменную напрямую, но то, что вы можете сделать, это следующее:
- Установить точку останова
- Когда эта точка останова будет удалена, нажмите на стрелку в левом поле и перетащите ее в предыдущую строку.
- Теперь вы можете добавить код для изменения обстоятельств (например, вы можете установить переменную в новое значение, добавить/удалить элементы из коллекции и т.д.).
См. другие ответы о включении редактирования и продолжения - в частности, убедитесь, что вы находитесь в режиме отладки.
Ответ 6
Чтобы решить эту проблему, я сделал следующее...
СТРОЙ > КОНФИГУРАЦИОННЫЙ МЕНЕДЖЕР
Конфигурация активного решения: DEBUG
конфигурация контекста проекта: DEBUG
затем TOOLS > OPTIONS > DEBUGGING > EDIT и CONTINUE
убедитесь, что выбрано редактирование и продолжение
затем СТРОЙ > ЧИСТАЯ РЕШЕНИЕ
затем BUILD > REBUILD SOLUTION
Затем запустите debug, затем приостановите, затем ваш код должен быть доступен для редактирования
Ответ 7
Ниже мне ответил:
http://whyiamright.wordpress.com/2007/12/20/aspnet-edit-and-continue-in-visual-studio-2005/
Второй пункт говорит - project-properties-web- > включить редактирование и продолжить.
thats it.