Отладка службы

Для отладки службы можно использовать любой из следующих методов.

  • Используйте отладчик для отладки службы во время ее выполнения. Сначала получите идентификатор процесса (PID) сервисного процесса. После получения PID подключитесь к запущенному процессу. Сведения о синтаксисе см. в документации, включенной в отладчик.

  • Вызовите функцию DebugBreak, чтобы вызвать отладчик для JIT-отладки.

  • Укажите отладчик, используемый при запуске программы. Для этого создайте ключ под названием Параметры выполнения образа файла в следующем расположении реестра:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

    Создайте подраздел с таким же именем, как ваша служба (например, MYSERV.EXE). В этот подраздел добавьте значение типа REG_SZс именем Debugger. Используйте полный путь к отладчику в качестве строкового значения. В апплете панели управления "Службы" выберите свою службу, щелкните Запуск и проверьте Разрешить службе взаимодействовать с рабочим столом. Служба должна быть интерактивной службой или в противном случае отладчик не может работать на рабочем столе по умолчанию. Обратите внимание, что этот метод больше не поддерживается в Windows Vista, так как все службы выполняются в сеансе, зарезервированном исключительно для служб и не поддерживают отображение пользовательского интерфейса.

  • Используйте трассировки событий для регистрации сведений.

Чтобы отладить код инициализации службы автозапуска, необходимо временно установить и запустить службу в качестве службы запуска по запросу.

Иногда может потребоваться запустить службу в качестве консольного приложения для отладки. В этом сценарии функция StartServiceCtrlDispatcher вернет ERROR_FAILED_SERVICE_CONTROLLER_CONNECT. Поэтому не забудьте структурировать код таким образом, чтобы код, зависящий от службы, не вызывается при возврате этой ошибки.

Отладка Приложения-Службы

средства отладки для Windows