Отладка в VB.NET
В этом разделе приводится краткий обзор изменений в средствах отладки VB.NET. Мы вернемся к этой важной теме позже, когда у нас появится содержательный код для отладки. К сожалению, начинать приходится с печального известия. Если раньше VB позволял прервать работу программы, отредактировать ее и продолжить выполнение с учетом внесенных изменений, то начиная с бета-версии 2 эта возможность не поддерживается. Программу можно редактировать в процессе отладки, однако изменения вступают в силу лишь после повторной компиляции. Впрочем, различные средства пошагового выполнения и прерывания программ (такие как условные точки прерывания) работают так же, как и прежде.
И все же можно с уверенностью сказать, что существование общего отладчика уровня VS.NET, по своим возможностям сравнимого с отладчиком VC++, является одним из самых заметных усовершенствований VB.NET на фоне предыдущих версий VB. Значительно расширились возможности работы со всеми составляющими приложения, вплоть до отладки на уровне загруженных модулей и программных потоков.
Примечание
Для работы отладчика необходим файл.pdb с отладочной информацией. Чтобы создать этот файл, необходимо установить флажок Generate symbolic debug information в диалоговом окне параметров компиляции. По данным файла.pdb отладчик определяет, какая строка исходного текста соответствует текущей позиции исполняемого файла и какие символические имена были присвоены переменным программы. Без отладочной информации неполадки придется искать в ассемблерном листинге.
Новые возможности отладчика
Отладчик VB.NET обладает некоторыми новыми возможностями, отсутствовавшими в VB6. Краткая сводка этих возможностей приведена ниже.
Окно памяти
Окно памяти предназначено для просмотра фактического содержимого заданной области памяти. Ни в одной из прежних версий VB не поддерживалась эта возможность, чрезвычайно полезная в некоторых ситуациях – например, если вы хотите проследить за выполнением низкоуровневого кода и выяснить, что же именно происходит при работе вашей программы. Окно памяти вызывается в IDE командой Debug › Windows › Memory › Memory1 (или 2-4). Примерный вид окна памяти показан на рис. 2.26. Если щелкнуть в окне памяти правой кнопкой мыши, появится контекстное меню, в котором выбирается представление выходных данных.
Рис. 2.26. Окно памяти