Як увімкнути редагування файлів у режимі налагодження Visual Studio?


144

Чи є спосіб увімкнути редагування файлів під час налагодження у Visual Studio? Я зняв прапорець "Потрібно, щоб вихідний файл точно відповідав оригінальній версії". Це не має ніякої різниці. Я маю припинити налагодження для редагування файлів. Дуже дратує. Я ввімкнув "Правка та продовження". Той самий результат. Я відключив редагування та продовження - той самий результат.


Я не бачив, щоб ви редагували своє запитання. Ви можете це виправити за допомогою швидкої перевстановлення.
Секко

12
@Secko Не існує такого поняття, як "швидка перевстановлення", коли ми говоримо про Visual Studio ...
Zero3

@ Zero3 Було в моє час, приблизно 16 років тому, коли я використовував це навколо (int) 1999 - (int) 2000. Не використовував його протягом (тривалого) часу.
Секко

Справжня проблема тут полягає в тому, що налаштування "Редагувати та продовжувати" Visual Studio не дозволяє редагувати та продовжувати . Скоріше, це дивна функція, яка дозволяє вам редагувати код, а потім фактично змінювати виконуваний код, щоб він відповідав вашій редакції, і виводив звідти налагодження. Навіть якби це було корисно, це рідко працює. Це повинно було називатися чимось на кшталт "редагування та перекомпіляція під час". Якщо вимкнути його , ви зможете фактично редагувати свій код, продовжуючи налагоджувати компільований код.
MGOwen

Відповіді:


234

Наскільки я знаю, ви можете зняти прапорець "Редагувати та продовжити".

Інструменти -> Параметри -> Налагодження -> Редагувати та продовжувати> Увімкнути редагування та продовжити (зніміть прапорці)


60
Це було рішенням для мене - я не маю уявлення, чому перевірка ООН "Редагувати та продовжувати" дозволить мені редагувати ... здається контрінтуїтивною. У всякому разі, я би зазначив це як відповідь.
Сем Шутт

7
Контр-інтуїтивно зрозумілий, але ефективний.
Мільне

2
Це реагує по-різному, якщо бізнес-шар розділений на окремий проект у рамках рішення. До його розколу я мав змогу редагувати класи під час налагодження без проблем. На жаль, це рішення не вирішилось для мене в цій ситуації (я використовую VS2013)
Radderz

18
У Visual Studio 2015 я знайшов цей параметр внизу Debugging-> General.
Нуль3

13
Якщо ви намагаєтеся це зробити, але "Увімкнути редагування та продовжувати" затьмарене, просто припиніть налагодження і поверніться до параметрів.
Равві

19

Розгортання правильної відповіді Рід.

У режимі налагодження для редагування файлу використовується функція, відома як «Правка та продовження» (загально скорочена ENC). Це дозволяє користувачам змінювати свою програму під час роботи в відладчику.

Якщо ENC увімкнено, користувачам дозволяється виконувати обмежений набір редагувань свого файлу. Наступна дія, яка продовжує виконання програми (F10, F5 тощо) призведе до того, що правки будуть застосовані до запущеної програми. Якщо це вдасться виконати програму, буде продовжено новий застосований код.

Відладчик не дозволяє редагувати файл, якщо ENC не ввімкнено.

Є кілька причин, за якими ENC може бути відключений на вашому комп’ютері

  • Окремі профілі не включають ENC за замовчуванням, і він повинен бути чітко включений
  • Можливо, ви працюєте на 64-бітній ОС та у вашому додатку .Net встановлено значення "Будь-який процесор". ENC недоступний для 64-бітного (обмеження CLR). Вам потрібно буде встановити додаток на x86, щоб ENC працював

8
Що робити, якщо вам не байдуже редагувати та продовжувати, а просто хочете кодувати під час роботи програми, щоб ви могли побачити, що потрібно зробити, поки ви це робите? Абсолютно нереально ВС накладе це штучне обмеження. Це не так, як потрібно читати вихідні файли під час роботи. Немає технічних причин, чому це повинно було заблокувати вихідні файли. Xcode не має жодних проблем дозволяти вам кодувати під час роботи програми. Зміни просто не застосовуються до наступного запуску. Чи справді немає можливості зробити це в VS?
devios1

1
Якщо я відключу редагування та продовження, це дозволить мені редагувати файли .cs під час роботи програми, але вона все ще блокує .xaml файли. Я шукаю спосіб повністю відключити це абсурдне блокування.
devios1

7
Він навіть не дозволить мені додати файл до проекту під час роботи програми! Я тебе маля, ні, 20-30 разів на день я намагаюся щось робити і ВС цілком перешкоджає цьому. Після короткого "wtf" моменту я розумію, що додаток налагоджує програму, і мені потрібно припинити те, що я робив, вбити додаток, а потім повторно спробувати його. Я не можу працювати в цих умовах, і я дуже вражений, що люди не знають про це. Це справді вбиває мою продуктивність і підводить мене до стіни. Має бути спосіб виправити це!
devios1

1
@ devios1 Щось я часто роблю, це просто запустити без налагодження (ctrl + f5), що в порядку, поки вам не потрібні точки прориву чи що-небудь інше.
бінкі

@ devios1 Те саме. Сподіваюся, хтось (можливо, я) знайде час закінчити це розширення. github.com/AndreasFurster/pause-edit-and-continue
Павло

8
  • ООН встановіть прапорець "Увімкнути редагування та продовжити" ( Tools -> Options -> Debugging -> Edit and Continue > Enable Edit and Continue)
  • Створіть свій додаток.
  • Виконати його.
  • Зупини це.
  • Повторно поставте прапорець "Увімкнути редагування та продовжити".
  • Створіть свій додаток.
  • Виконати його.
  • Спробуйте відредагувати файли під час налагодження.

Це працювало для мене. Я вважаю, що це може бути помилка чи синхронізація з Visual Studio 2015.


1
Шановний доносець, корисно залишити коментар, ЧОМУ ви зволікаєте відповідь.
Франсуа Бота

Це не вирішило для мене, однак найвища відповідь нижче.
Кайран

6

Потрібно ввімкнути Правка та продовжити .


2
Крім того, вам потрібно бути на точці розриву або натиснути кнопку паузи (Break All).
McAden

@marcc: І багато іншого, саме тому я вказав на документи. Повний список непідтримуваних змін див. У розділі "Непідтримувані сценарії" за цим розташуванням: msdn.microsoft.com/en-us/library/ms164927%28VS.80%29.aspx
Reed

4
Відповідь Seckos (найкраще оцінений) працював на мене (VS2015) і є точно протилежною вашій відповіді.
alrts

6

Від MSDN

Щоб увімкнути / вимкнути Правка та продовжити

  • Відкрити сторінку параметрів налагодження (Інструменти / Параметри / Налагодження). Прокрутіть

  • до категорії Редагувати та продовжити. Щоб увімкнути, виберіть Увімкнути редагування

  • та прапорець Продовжити. Щоб відключити, зніміть прапорець. Примітка. ...

  • Натисніть кнопку ОК.


5

Зазвичай редагування файлу під час налагодження можливо, коли ви потрапили на точку розриву (і лише тоді).

Однак є деякі обмеження: - ваш новий код повинен компілювати - ви не можете змінити код у функції, що містить лямбда-вирази



2

Якщо увімкнено "Правка та продовження", і ви використовуєте C #, ви можете редагувати файл лише у тому випадку, коли налагоджувач зупинився або через точку перерви, або ви вручну вриваєтесь у додаток через "Перервати все". Ви все одно не зможете редагувати деякі файли, напр. Xaml файли у програмі WPF, але це повинно вирішити більшість проблем.


1

Якщо ваше джерело походить з декомпільованого dll, зауважте, що декомпілятори можуть додати інструкцію IgnoreSymbolStoreSequencePoints до Assemblyinfo.cs:

[збірка: Debuggable (DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]

Цей рядок потрібно видалити, щоб завантажити pdb-файл, зробивши редагування та продовження роботи.


1

Видалення галочки нижче опції працює для мене

Інструменти> Опція> Налагодження> Загальне> Увімкнути редагування та продовжити

введіть тут опис зображення

* Примітка. У деяких колег-розробників система додавання цього галочки виконала трюк.


1

Я спробував цей спосіб і його Робота для мене. Перейдіть до файла CSProj або VbProj -> Оберіть сервер розвитку Asp.Net / IIS Express -> Налагоджувачі -> Увімкнути редагування та продовження-> Зберегти та запустити.

введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.