Отладка программ обслуживания NT
------------ Отрывок из книги Delphi 6 Руководство по разработке применений
Есть два способа отладки программы обслуживания. Первый - определить рабочую часть Сервиса в отдельном классе и отлаживать ее в отдельной программе. Второй тип - отладка при запуске службы. Первый подход - хорошая идея;
Мы используем первый метод для тестирования при создании двух программ: ServiceApp и Testmailer (также доступный на компакт -диске этой книги). Добавьте те же компоненты Tidmessage, Ttimer и Tidstmp в отдельную программу и создайте отправителя почты. Когда обнаружен дефект программы Testmailer, все изменения обновляются в службу программы. Создать Workbench или тестирование программы легко, но не всегда достаточно.
Второй способ проверить сервисную программу - установить и запустить сервисную программу, а затем прикрепить ее к процессу запуска в Delphi. Следуйте этим шагам, чтобы отлаживать программу ServiceApp.exe во время запуска службы.
1. Запустите ServiceApp.exe /Установите в командной строке, чтобы установить сервисную программу.
2. Выберите «Настройки» | Найдите MyService и нажмите кнопку The Service Service Wants Wantry (шаги применимы к Windows 2000; шаги в Windows NT4.0 почти одинаковы).
3. Запустите Delphi.
4. Загрузите проект ServiceApp.dpr.
5. Выберите «Запустить»
6. В диалоговом окне «Прикрепить к процессу» (как показано на рисунке ниже) выберите флажок Show System Process.
7. Найдите Serviceapp.exe и нажмите кнопку «Прикрепить».
8. В Delphi установите точку останова на методе события OnexeCute исходного файла проекта и нажмите F9.
Рисунок B.3 Прикрепите диалоговое окно процесса для прикрепления отладчика Delphi к процессу работающего;
Delphi прикрепит отладчика к программе обслуживания работает и откроет диалог процессора. Если вы не читаете язык сборки очень гладко, представления процессора не очень полезны. Но когда сервисная программа запускается в точку останова, она останавливается на точке останова и переключается на представление Delphi Code. После того, как пользователь получит контроль за работой службой через Delphi, сервис может быть ступененью и отладкой, как и другие программы.
Примечание. Как разработчик, вы должны иметь права администратора на своем ПК. Невероятно, что некоторые организации доверяют коду, написанному разработчиками, но не позволяют им управлять своими компьютерами. Нынешняя экономическая ситуация все еще хороша, поэтому найдите новую работу.
В документации Delphi Help упоминается, что если разрешения недостаточно, прикрепление к процессу обслуживания может потерпеть неудачу. Когда у вас есть права администратора на вашем ПК, прикрепленный процесс обслуживания всегда работает нормально. Тема справки «Службы отладки» содержит третий способ отладки услуг, который включает в себя изменение настройки реестра, на которые вы можете обратиться.
Ye Zhengsheng
2005-05-22