Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Отладчик можно запускать автоматически при запуске приложения-службы. Кроме того, его можно запускать автоматически, когда приложение-служба обнаруживает исключение или выполняет команду DebugBreak . Если вы выбрали один из этих методов, в этом разделе объясняется, как продолжить. Если вы не уверены, какой метод выбрать, см. статью "Выбор оптимального метода".
Затем выполните следующую процедуру:
Выполните одно из следующих этапов подготовки:
- Если вы планируете отладить приложение-службу с самого начала, включая его код инициализации, выполните процедуру, описанную в разделе "Включение отладки кода инициализации". Кроме того, если вы хотите, чтобы служебное приложение попадало в отладчик при сбое или обнаружении исключения, выполните процедуру, описанную в разделе "Настройка служебного приложения для входа в отладчик".
- Чтобы убедиться, что приложение-служба позволит отладчику работать правильно, выполните процедуру, описанную в разделе "Настройка времени ожидания приложения-службы".
- Если служба объединяется с другими службами в одном процессе SvcHost, выполните процедуру, описанную в разделе "Изоляция службы".
Если служба уже запущена, необходимо перезапустить ее, чтобы эти изменения вступили в силу. Рекомендуется перезапустить Windows, чтобы удалить любые эффекты запущенной службы. Если вы не хотите перезапустить Windows, используйте следующие команды, где Имя_ службы — это имя службы:
net stop ServiceName net start ServiceName
Если вы решили выполнить отладку кода инициализации приложения-службы, при запуске службы отладчик запускается и подключается к приложению-службе.
Если вы решили разрешить отладчику активировать исключение, приложение-служба выполняется обычно, пока не столкнется с исключением или не выполнит функцию DebugBreak . На этом этапе отладчик запускается и подключается к приложению-службе.
Следующий шаг зависит от командной строки отладчика, указанной на шаге 1.
- Если вы указали отладчик без параметров удаленного взаимодействия, этот отладчик запускается и его окно становится видимым.
- Если вы указали NTSD с параметрами -server и -noio, NTSD запускается без окна консоли. Затем можно подключиться к сеансу отладки с другого компьютера, запустив любой отладчик в режиме пользователя с параметром -remote. Инструкции см. в разделе "Активация клиента отладки".
- Если вы указали NTSD с параметром -d, NTSD запускается без окна консоли. Затем можно подключиться к сеансу отладки с помощью отладчика ядра, работающего на другом компьютере. Инструкции см. в разделе "Управление отладчиком User-Mode" из отладчика ядра.
- Если вы указали NTSD с параметрами -ddefer и -server, NTSD запускается без окна консоли. Затем вы можете подключиться к сеансу отладки с помощью отладчика ядра и удаленного отладчика в режиме пользователя, которые работают на другом компьютере, чем служба (но возможно, на одном и том же компьютере друг с другом). Инструкции см. в разделе "Объединение этого метода с удаленной отладкой".
При запуске отладчика служба приостанавливается в начальной точке останова процесса, исключении или команде DebugBreak . Это позволяет изучить текущее состояние приложения-службы, задать точки останова и сделать любые другие нужные варианты конфигурации.
Используйте g (Go) или другую команду выполнения, чтобы возобновить выполнение приложения-службы.