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

Переводы статьи Переводы статьи
Код статьи: 824344 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

В данной статье описаны способы отладки Windows службы с помощью отладчика WinDbg (windbg.exe). Чтобы выполнить отладку службы Windows можно присоединить отладчик WinDbg для процесса, размещающего службу после Служба запускается, или можно настроить на запуск с WinDbg отладчик присоединен, что устранение неполадок связанных запуска службы проблемы. В этой статье описываются оба этих метода.

Требования

Это При написании статьи предполагалось, что вы знакомы с следующие темы:
  • Службы Windows
  • Отладчик WinDbg

Присоединение отладчика WinDbg к службе после запуска службы

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

Используйте идентификатор процесса, на котором размещена служба, которую требуется отладить

  1. Чтобы определить идентификатор процесса (PID) процесса, размещающего Служба, которую требуется отладить, используйте один из следующих способов.
    • Метод 1: С помощью диспетчера задач
      1. Щелкните правой кнопкой мыши панель задач и нажмите кнопку Диспетчер задач. В Диспетчер задач диалоговое окно Появится окно.
      2. Нажмите кнопку Процессы на вкладке Диспетчер задач диалоговое окно.
      3. В группе Имя образа, нажмите на изображение имя процесса, на котором размещена служба, которую требуется отладить. Примечание Идентификатор данного процесса, указанный по значению соответствующего КОД ПРОДУКТА поле.
    • Способ 2: Используйте служебную программу списка задач (tlist.exe)
      1. Нажмите кнопку Начало, а затем нажмите кнопку Запустить. В Запустить Появится диалоговое окно.
      2. В Открыть поле типа cmd, а затем нажмите кнопку ОК.
      3. В командной строке измените путь к каталогу отражают расположение файла tlist.exe на вашем компьютере.

        Примечание Tlist.exe файл обычно находится в следующих каталог: C:\Program Files\Debugging средства
      4. В командной строке введите: Список задач список изображений имена и идентификаторы всех процессов процессы, запущенные в данный момент на вашем компьютере.

        Примечание Запишите идентификатор процесса, на котором размещены службы, которые требуется отладить.
  2. В командной строке измените путь к каталогу, в соответствии с расположение файла windbg.exe на вашем компьютере.

    Примечание Если командная строка не отображается, выполните действия, и b способ 1. Файл windbg.exe обычно находится в следующем каталоге: C:\Program Files\Debugging средства для Windows.
  3. В командной строке введите: WinDBG –pProcessID /g Чтобы присоединить отладчик WinDbg к процессу, на котором размещена служба, которую требуется отладить.

    Примечание ProcessID обозначает Идентификатор процесса, на котором размещена служба, которую требуется для отладки.

Используйте имя образа процесса, размещающего службу, которую требуется отладить

Этот метод можно использовать только в том случае, если запускается под управлением экземпляр процесса, на котором размещена служба, которую требуется выполнить. Для этого Это, выполните следующие действия:
  1. Нажмите кнопку Начало, а затем нажмите кнопкуЗапустить. В Запустить Появится диалоговое окно.
  2. В Открыть поле типаcmd, а затем нажмите кнопку ОК Чтобы открыть Командная строка.
  3. В командной строке измените путь к каталогу, в соответствии с расположение файла windbg.exe на вашем компьютере.

    Примечание Файл windbg.exe обычно находится в следующих каталог: C:\Program Files\Debugging средства.
  4. В командной строке введите: WinDBG –pnImageName /g Чтобы присоединить отладчик WinDbg к процессу, на котором размещена служба, которую требуется отладить.

    ПримечаниеImageName обозначает имя образа процесса, размещающего службу, которую требуется отладить. В "-pn» указывает, что параметр командной строкиImageName Имя файла — это аргумент командной строки процесс.

Запустите отладчик WinDbg и присоединиться к процессу, на котором размещена служба, которую требуется отладить

  1. Запустите проводник Windows.
  2. Найдите файл windbg.exe на вашем компьютере.

    Примечание Файл windbg.exe обычно находится в следующих каталог: C:\Program Files\Debugging средства
  3. Запустите файл windbg.exe вместе с /g параметр командной строки для запуска WinDbg отладчик. В /g параметр командной строки позволяет отслеживание процесса для продолжения работы после установки точки останова.
  4. На Файл меню, нажмите кнопку Присоединение к Процесс для отображения Присоединение к процессу диалоговое окно поле.
  5. Выберите узел, соответствующий процесс на котором размещена служба, которую требуется отладить и выберите командуОК.
  6. В появившемся диалоговом окне нажмите кнопку ДаЧтобы сохранить сведения о базовой рабочей области. Обратите внимание, что теперь можно отлаживать Деассемблированный код службы.

Настроить службу для запуска с WinDbg подключен отладчик

Этот метод можно использовать для отладки служб, если требуется Устранение неполадок, связанных запуска службы.
  1. Настройте параметры «Выполнение файла изображения». Чтобы сделать это, воспользуйтесь одним из следующих способов:
    • Метод 1: Используйте редактор глобальных флагов (gflags.exe)
      1. Запустите проводник Windows.
      2. Найдите файл gflags.exe на вашем компьютер.

        Примечание Gflags.exe файл обычно находится в следующих каталог: C:\Program Files\Debugging средства.
      3. Запустите файл gflags.exe, чтобы начать глобальные флаги Редактор.
      4. В Имя файла изображения текстовое поле Введите имя образа процесса, размещающего службу, которую требуется для отладки. Например, если необходимо выполнить отладку службы, размещенной по процессу MyService.exe, имеет как имя изображения, тип MyService.exe.
      5. В группе Место назначения, выберите очередь Параметры файла изображения параметр.
      6. В группе Параметры отладчика изображения, Выберите Отладчик флажок.
      7. В Отладчик текстовое поле, введите полный путь к отладчику, которую требуется использовать. Например если вы Чтобы отладить службу с помощью отладчика WinDbg, введите полный путь, похожее на следующее: C:\Program Средства Files\Debugging для Windows\windbg.exe
      8. Нажмите кнопку Применение, а затем нажмите кнопку ОК Чтобы закрыть редактор глобальных флагов.
    • Способ 2: С помощью редактора реестра
      1. Нажмите кнопку Начало, а затем нажмите кнопку Запустить. В Запустить Появится диалоговое окно.
      2. В Открыть поле типа regedit, а затем нажмите кнопку ОК для запуска Редактор реестра.
      3. Важные Этот раздел, метод или задача содержит действия, о том, как внести изменения в реестр. Тем не менее при неправильном изменении реестра, могут возникнуть серьезные проблемы. Таким образом Убедитесь, что внимательно выполните следующие действия. Для дополнительной защиты резервную копию реестра перед внесением изменений. Затем при возникновении неполадок можно восстановить реестр. Для получения дополнительных сведений о том, как резервное копирование и восстановление реестра щелкните следующий номер статьи базы знаний Майкрософт:
        322756 Резервное копирование и восстановление реестра Windows


        В редакторе реестра найдите и щелкните правой кнопкой мыши в следующем подразделе реестра:
        HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Параметры выполнения файла NT\CurrentVersion\Image
      4. Выберите пункт Новый, а затем нажмите кнопку Ключ. Заметьте, что в левой области окна редактора реестра Новый раздел # 1 выбранный для (имя новый подраздел реестра) редактирование.
      5. Тип ImageName для замены Новый раздел # 1, а затем нажмите клавишу ВВОД.

        Примечание ImageName обозначает имя образа процесса, размещающего службу, которую требуется отладить. Для Например, если необходимо выполнить отладку службы, размещенной процессом, который имеет MyService.exe как имя изображения, тип MyService.exe.
      6. Щелкните правой кнопкой мыши раздел реестра, созданные в шагу e.
      7. Выберите пункт Новый, а затем нажмите кнопку Строковое значение. Обратите внимание, в правой области окна редактора реестра , Новый параметр # 1, называется новый параметр реестра выбранной для редактирования.
      8. Замена Новый параметр # 1 этим кодом Отладчик, а затем нажмите клавишу ВВОД.
      9. Щелкните правой кнопкой мыши Отладчик Системный реестр операции, созданные в действии h и нажмите кнопку Изменить. В Изменение строки Появится диалоговое окно.
      10. В Значение данных текстовое поле, тип DebuggerPath, а затем нажмите кнопку ОК.

        Примечание DebuggerPath — Это полный путь к отладчику, которую требуется использовать. Например если вы Чтобы отладить службу с помощью отладчика WinDbg, введите полный путь, похожее на следующее:
        C:\Progra~1\Debugg~1\windbg.exe
  2. В окне отладчика на рабочем столе и взаимодействие с отладчиком, сделать интерактивной службы. Если вы не вносите службы интерактивный отладчик начнет работу, но вы не можете увидеть его и не может выдавать команды. Чтобы опубликовать интерактивную службу, воспользуйтесь одним из приведенных ниже способов:
    • Метод 1: С помощью консоли «службы»
      1. Нажмите кнопку Начало, а затем выберите пункт Программы.
      2. На Программы Выберите пункт Администрирование, а затем нажмите кнопку Службы. В Службы консоль появится.
      3. В правой области окна СлужбыЩелкните правой кнопкой мыши консоли Имя_службы, и выберите команду Свойства.

        Примечание Имя_службы обозначает Имя службы, которую требуется отладить.
      4. На Войдите в систему вкладки, выберите очередь Разрешить взаимодействие с рабочим столом Установите флажок Локальная системная учетная запись., а затем нажмите кнопку ОК.
    • Способ 2: С помощью редактора реестра
      1. В редакторе реестра найдите и выберите команду Следующий подраздел реестра:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceName
        Примечание Замена Имя_службы с именем Служба, которую требуется отладить. Например, если необходимо выполнить отладку службы с именем MyService, найдите и выделите следующий раздел реестра:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService
      2. В группе Имя Щелкните правой кнопкой мыши поле в правой области окна редактора реестра Тип, а затем нажмите кнопку Изменить. В Изменение параметра DWORD «Свойства системы» появится.
      3. Изменение текста Значение данныхтекстовое поле результат двоичные операции или двоичное значение текущий текст и двоичные значения, 0x00000100, как два операнда. Двоичный файл соответствует значению, 0x00000100, константа SERVICE_INTERACTIVE_PROCESS, определяется в файле заголовке WinNT.h на вашем компьютере. Эта константа задает что служба — это интерактивный характер.
  3. При запуске службы, служба обращается к Служба диспетчера управления, как долго службы необходимы для запуска (тайм-аут период для службы). Если диспетчер управления службами не получил «запустить службу» уведомление от службы в течение этого периода тайм-аута Диспетчер управления службами завершает процесс, на котором находится служба. Это период ожидания обычно составляет менее 30 секунд. Если это не изменяются период ожидания, диспетчер управления службами завершает процесс и При попытке отладки, присоединен отладчик. Чтобы настроить это время ожидания период выполните следующие действия.
    1. В редакторе реестра найдите и щелкните правой кнопкой мыши Следующий подраздел реестра:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
    2. Выберите пункт Новый, а затем нажмите кнопку Значение типа DWORD. Заметьте, что в правой области окна редактора реестра Новый параметр # 1 выбрано (имя записи реестра) для редактирования.
    3. Тип ServicesPipeTimeout для замены Новый параметр # 1, а затем нажмите клавишу ВВОД.
    4. Щелкните правой кнопкой мыши ServicesPipeTimeoutзаписи реестра, созданные в шаге c и нажмите кнопку Изменить. В Изменение параметра DWORD «Свойства системы» появится.
    5. В Значение данных текстовое поле, тип TimeoutPeriod, а затем нажмите кнопку ОК

      Примечание TimeoutPeriod является значение периода ожидания (в миллисекундах), которые необходимо установить для службы. Например, если требуется задать тайм-аут период до 24 часов (86400000 миллисекунд), тип 86400000.
    6. Перезагрузите компьютер. Необходимо перезагрузить компьютер для диспетчера управления службами применить это изменение.
  4. Запуск службы Windows. Чтобы сделать это, выполните следующие действия.
    1. Нажмите кнопку Начало, а затем выберите пункт Программы.
    2. На Программы Выберите пункт Администрирование, а затем нажмите кнопку Службы. В Службы консоль появится.
    3. В правой области окна СлужбыЩелкните правой кнопкой мыши консоли Имя_службы, и выберите команду Начало.

      Примечание Имя_службы обозначает Имя службы, которую требуется отладить.

Устранение неполадок

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

Ссылки

Чтобы загрузить средства и служебные программы, упомянутые в этой статье посетите следующий веб-узел корпорации Майкрософт:
Средства отладки для Windows: Обзор
http://www.microsoft.com/whdc/devtools/debugging/default.mspx (на английском языке)
Для получения дополнительных сведений посетите следующие разработки корпорации Майкрософт Веб-узлы сети MSDN:
Отладчик WinDbg
http://www.Microsoft.com/whdc/DEVTOOLS/Debugging/installx86.mspx
Службы
http://msdn2.Microsoft.com/en-us/library/ms685141.aspx
С помощью глобальных флагов сжатия диска
http://msdn2.Microsoft.com/en-us/library/ms792858.aspx

Свойства

Код статьи: 824344 - Последний отзыв: 23 сентября 2011 г. - Revision: 5.0
Информация в данной статье относится к следующим продуктам.
  • операционная система Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
Ключевые слова: 
kbimghlp kbregistry kbservice kbdebug kbmisctools kbhowtomaster kbmt KB824344 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:824344

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com