Отладка процессов
С технической точки зрения в любом сеансе отладки всегда задействован некоторый процесс (о процессах рассказано в главе 10). В предыдущих версиях VB отладчик не позволял подключаться к работающим процеЪсам — такая возможность была предусмотрена только в отладчике Visual C++. В VB .NET команда Debug > Processes выводит диалоговое окно, показанное на рис. 2!27.
Рис. 2.26. Окно памяти
Рис. 2.27. Выбор процесса для отладки
Чтобы начать отладку, выделите процесс в списке и щелкните на кнопке Attach. После подключения к процессу кнопка Break выводит информацию о текущем состоянии приложения. Если отладочная информация отсутствует, выводится листинг на языке ассемблера. После нажатия кнопки Attach на экране появляется диалоговое окно, в котором вам предлагается выбрать, что же вы собираетесь отлаживать — машинный код, код CLR, сценарий и т. д. В большинстве случаев отлаживается либо машинный код, либо код CLR. Длл примера мы запустили экземпляр приложения Notepad.exe и подключились к нему в отладчике VB .NET. Результат показан на рис. 2.28.
Рис. 2.28. Отладка процесса Notepad.exe
Листинг выглядит устрашающе, поскольку мы не располагаем отладочной символической информацией для программы Notepad.exe. При наличии этих данных в окне появился бы фрагмент исходного текста функции, выполнявшейся в момент передачи управления отладчику.