Отладка различных процессов

Оценить
(0 голоса)

После изучения вашей ошибки вы видите, что она порождается в процессе Web-сервиса. Код, вызываемый Web-сервисом, выполняется в отдельном процессе (а не в процессе запу­щенного приложения, которым является Web-интерфейс пользователя). Когда вы отлажи­ваете приложение, то отлаживаете выполняющийся процесс, такой как исполняемый файл (exe). Visual Studio по умолчанию считает зарущенный процесс приложения первичным от­лаживаемым процессом.

Для отладки кода, который выполняется в другом процессе (таком как процесс Web- сервиса) вы должны иметь исходный код и прикрепиться к выполняемому процессу (т. е. работать с отладочной сборкой). Если весь код данного приложения находится в одном ре­шении, то Visual Studio автоматически прикрепится к каждому процессу. В нашем примере имеется и процесс Web-интерфейса пользователя, и процесс Web-сервиса. Поэтому в дан­ном случае вам не придется вручную прикрепляться к другому процессу. Это новая функ­циональная возможность Visual Studio 2008.

Однако отладчик не будет автоматически возвращаться в интегрированную среду на ошиб­ках, возникающих вне первичного процесса. Но он будет выполнять точки останова, кото­рые вы настроили в коде, выполняющемся в других процессах. Если ошибка происходит в отдельном процессе (и в этом процессе нет соответствующих точек останова), то отладчик выйдет в интегрированную среду внутри процесса, который вызвал тот процесс, где про­изошла ошибка. Поэтому в нашем примере на рис. 10.6 вы видите, что ошибка находится в коде библиотеки, которую вызывает Web-сервис. Web-сервис находится в отдельном про- 4 цессе Web-cepeepa, а не в стартовом приложении (Web-интерфейсе пользователя). Для от­ладки этой ошибки вам нужно будет настроить точку останова в Web-сервисе или по сосед­ству с кодом, на который сделана ссылка.

Отладка различных процессов

Примечание

Не забудьте включить отладку Web-приложения при помощи конфигурационного файла (web.config). Это справедливо также и для приложений Web-сервисов. Под­робности см. на рис. 10.2.

Иногда вам будет нужно вручную прикрепиться к уже выполняющемуся процессу. Вам может понадобиться прикрепить интегрированную среду к работающему Web-cepeepy, или у вас мо­жет быть сервисное приложение, к которому вы хотите привязаться отладчиком. При любом сценарии Visual Studio позволяет вам прикрепиться к процессу и начать сеанс отладки. Для прикрепления к выполняющемуся, процессу (вроде Web-cepeepa) в меню Debug выберите пункт Attach to Process. После этого вы получаете диалоговое окно, показанное на рис. 10.7.

На рис. 10.7 обратите внимание на то, что все прикрепленные в данный момент процессы выделены серым. Это визуальный индикатор того, что вы уже прикреплены к данному про­цессу. Для подключения отладчика Visual Studio к процессу вы просто выделяете процесс и нажимаете кнопку Attach. Теперь вы отлаживаете оба процесса и можете настроить точку останова в связанном коде, где как раз, возможно, и происходит ошибка.

Настройка точки останова
Продолжение отладки
Пошаговое прохождение для поиска ошибки
Выводы по основам отладки
Отладчик Visual Studio

Добавить комментарий


Защитный код
Обновить

© 2017 www.visualstudios.ru. Все права защищены.