VB.net Edit-And-Continue: игнорировать "невозможно применить это изменение во время отладки" - PullRequest
2 голосов
/ 13 мая 2010

При использовании VB.Net (2008) и приостановке отладки, Edit-And-Continue значительно экономит время. Однако, если вы измените какую-либо информацию уровня модуля / класса (переменную, подпись под / функции и т. Д.), Вы получите сообщение об ошибке, подобное этому:

"unable to apply this change while debugging"

Хотя я могу понять техническую проблему, связанную с выполнением этой работы (и почему это было бы сложно), она оставляет меня в затруднительном положении с помощью всего нескольких вариантов:

1) Перезапустите, перекомпилируйте и верните программу в то же состояние
2) Продолжайте отладку без внесения изменений и рискуйте забыть
3) Напечатайте заметку с напоминанием, чтобы внести изменения

Все это раздражает.

Теперь я знаю, что вариант «4) Просто внести изменения» может оказаться невозможным. но кто-нибудь знает, как включить следующую «технически простую» возможность?

4) Позвольте мне изменить код, пометить его фиолетовым волнистым подчеркиванием, чтобы я мог сохранить его, но игнорировать изменения до перекомпиляции

Я проверил Tools | options | debug | edit и продолжаю, ничего не позволяет мне сделать это.

спасибо!

Ответы [ 3 ]

2 голосов
/ 13 мая 2010

Вы не можете делать в точности то, что хотите, но вы можете открыть решение / проект в другом vs instace и изменить код в нем. Вы должны убедиться, что не сохранили его.

0 голосов
/ 13 мая 2010

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

0 голосов
/ 13 мая 2010

К сожалению, это невозможно.

Это не так просто, как вы думаете.
По крайней мере, вы аннулируете всю нумерацию строк (хотя это происходит и в обычных E & C). Однако в среде IDE потребуется дополнительный уровень проверки, чтобы помешать вам выполнять такие действия, как изменение сигнатур методов или интерфейсов классов, которые делали бы невозможной отладку на уровне источника.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...