Функция Edit and Continue позволяет вам изменять код во время отладки без прекращения вашего сеанса отладки. Вы можете модифицировать строку кода или даже исправить ошибку и продолжать работать. Разработчики на Visual Basic, которые работали на версиях еще до .NET, должны помнить этот мощный инструмент. Его отсутствие в .NET сделало его самой ожидаемой функцией. Хорошая новость состоит в том, что Edit and Continue была добавлена в версии 2005 года как в Visual Basic, так и в С#. В версии 2008 эта функция была также добавлена и в Visual C++.
Вызвать Edit and Continue несложно. Вы просто делаете изменение в коде во время сеанса отладки, а затем продолжаете двигаться по своему коду при помощи команды Step или Continue.
Эта функция по умолчанию включена. Если она выключена, то вы можете ее включить в диалоговом окне Options, вызываемом одноименной командой из меню Tools.
Не все изменения кода подходят для Edit and Continue. Ее следует использовать только для незначительных исправлений. Любые серьезные добавления в коде в режиме отладки делать не следует. Если ваше изменение находится в теле метода, то оно с большой вероятностью подойдет под требования Edit and Continue. Большая же часть изменений вне тела методов потребует перезапуска отладчика. Некоторые стандартные изменения, которые не подходят для функции Edit and Continue, включают в себя:
□ изменение кода текущего (активного) оператора;
□ изменение кода любых вызовов стека, которые ведут к текущему (активному) оператору;
□ добавление новых типов, методов, полей, событий или свойств;
О изменение сигнатуры метода.
Более полный список ищите в MSDN по словам "Edit and Continue". Отсюда вы сможете попасть по ссылкам на документацию по функции Edit and Continue на нужном вам языке. Затем вы сможете воспользоваться ссылкой "Supported Code Changes". Там вы увидите полный список поддерживаемых и неподдерживаемых изменений для вашего языка.
Сложные сценарии отладки
Иногда отладка может быть очень сложным процессом. Мы рассмотрели много простых сценариев для Web-приложений и приложений Windows. Однако, например, отладка удаленных процессов и многопоточных приложений имеет свои особенности в смысле конфигурации и используемых инструментов. В данном разделе представлено несколько более часто встречающихся сложных сценариев отладки.