Удаленная отладка позволяет вам подключиться к выполняющемуся приложению на другом компьютере и отладить это приложение в его среде выполнения. Это часто единственный способ получить те ошибки, которые возникают только на определенном аппаратном обеспечении. Все мы слышали крики разработчиков: "А на моем компьютере работает!" Удаленная отладка помогает этим разработчикам определить, почему же их приложение не работает в другой среде.
Удаленная отладка очень ценна в самых различных случаях, в том числе при отладке: хранимых на сервере SQL-процедур, Web-сервисов, Web-приложений, удаленных сервисов или процессов и т. д.
Самое трудное в удаленной отладке — это ее настройка. Сам процесс отладки не отличается от того, что мы обсуждали до настоящего момента. Однако настройка требует множества шагов по инсталляции и системе безопасности. Эти шаги необходимы, поскольку вы не хотите, чтобы при настройках по умолчанию разработчики могли легко подключать сеансы отладки к приложениям на ваших серверах.
Есть и хорошие новости. Visual Studio старается минимизировать и упростить настройку и конфигурацию удаленной отладки. Фирма Microsoft для этой цели создала Remote Debugging Monitor (msvsmon.exe). Однако задачи настройки, скорее всего, покажутся разработчикам не очень простыми (хотя это и окупится по их завершении). Мы не будем описывать эту настройку очень подробно, поскольку обычно она очень зависит от рабочей среды. Для того чтобы получить подробное руководство и советы по устранению проблем, мы предлагаем вам сделать в MSDN запрос по словам "Remote Debugging".
Далее мы предлагаем вам список задач, которые необходимо выполнить для того, чтобы удаленная отладка начала работать.
1. Инсталлировать монитор удаленной отладки (msvsmon.exe) на удаленном компьютере. Он устанавливается при помощи приложения rdbsetup.exe. Вы можете запустить его и с разделяемого сетевого ресурса.
2. Настроить разрешения для удаленной отладки. Обычно это означает одно из двух. Вы можете настроить идентичные учетные записи (с одинаковыми именами пользователей и паролями) на обоих компьютерах (отладочном и сервере). Отладочная учетная запись может быть локальной или доменной. Однако серверная учетная запись должна быть локальной. Либо вы можете дать своей учетной записи административный доступ к отлаживаемому компьютеру. Это часто представляет собой определенный риск в смысле безопасности (к которому не стоит относиться слишком легко).
3. Запустить монитор удаленной отладки на удаленном компьютере. Это приложение Windows (с графическим интерфейсом пользователя). Вы можете также настроить монитор для работы в качестве сервиса Windows. Это может быть полезно для специфических серверных сценариев и удаленной отладки ASP.NET.
4. Если ваш отладочный компьютер работает под управлением операционной системы Windows ХР с пакетом обновлений SP2, то вам придется настроить вашу политику безопасности и сетевой экран для удаленной отладки (см. тему "How to: Set Up Remote Debugging" в документации MSDN). Если вы работаете под управлением Windows Vista, то вам может понадобиться поднять привилегии при запуске Visual Studio (запускать ее с правами администратора).
5. Запустить Visual Studio на вашем отладочном компьютере (как обычно). Открыть проект, содержащий исходные коды для того процесса, который вы хотите отладить.
6. Прикрепиться к процессу на удаленном компьютере при помощи Attach to Process. Вам придется указать компьютер (который вы хотите отлаживать) и найти на нем нужный процесс.
Как вы видите, настройка удаленной отладки может оказаться совсем непростой. Однако если вы обычно отлаживаетесь в одной и той же тестовой среде, то такую настройку вам нужно будет сделать только один раз.