Поделиться через


Автоматическая отладка приложения-службы

Отладчик можно запускать автоматически при запуске приложения-службы. Кроме того, его можно запускать автоматически, когда приложение-служба обнаруживает исключение или выполняет команду DebugBreak . Если вы выбрали один из этих методов, в этом разделе объясняется, как продолжить. Если вы не уверены, какой метод выбрать, см. статью "Выбор оптимального метода".

Затем выполните следующую процедуру:

  1. Выполните одно из следующих этапов подготовки:

  2. Если служба уже запущена, необходимо перезапустить ее, чтобы эти изменения вступили в силу. Рекомендуется перезапустить Windows, чтобы удалить любые эффекты запущенной службы. Если вы не хотите перезапустить Windows, используйте следующие команды, где Имя_ службы — это имя службы:

    net stop ServiceName 
    net start ServiceName 
    
  3. Если вы решили выполнить отладку кода инициализации приложения-службы, при запуске службы отладчик запускается и подключается к приложению-службе.

    Если вы решили разрешить отладчику активировать исключение, приложение-служба выполняется обычно, пока не столкнется с исключением или не выполнит функцию DebugBreak . На этом этапе отладчик запускается и подключается к приложению-службе.

  4. Следующий шаг зависит от командной строки отладчика, указанной на шаге 1.

    • Если вы указали отладчик без параметров удаленного взаимодействия, этот отладчик запускается и его окно становится видимым.
    • Если вы указали NTSD с параметрами -server и -noio, NTSD запускается без окна консоли. Затем можно подключиться к сеансу отладки с другого компьютера, запустив любой отладчик в режиме пользователя с параметром -remote. Инструкции см. в разделе "Активация клиента отладки".
    • Если вы указали NTSD с параметром -d, NTSD запускается без окна консоли. Затем можно подключиться к сеансу отладки с помощью отладчика ядра, работающего на другом компьютере. Инструкции см. в разделе "Управление отладчиком User-Mode" из отладчика ядра.
    • Если вы указали NTSD с параметрами -ddefer и -server, NTSD запускается без окна консоли. Затем вы можете подключиться к сеансу отладки с помощью отладчика ядра и удаленного отладчика в режиме пользователя, которые работают на другом компьютере, чем служба (но возможно, на одном и том же компьютере друг с другом). Инструкции см. в разделе "Объединение этого метода с удаленной отладкой".
  5. При запуске отладчика служба приостанавливается в начальной точке останова процесса, исключении или команде DebugBreak . Это позволяет изучить текущее состояние приложения-службы, задать точки останова и сделать любые другие нужные варианты конфигурации.

  6. Используйте g (Go) или другую команду выполнения, чтобы возобновить выполнение приложения-службы.

См. также

Функция DebugBreak