Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Отладка сервиса.

Читайте также:
  1. A. Разработка и отладка программного кода.
  2. Написание и отладка программы
  3. ОО отладка в среде одного языка
  4. Отладка при связывании с данными
  5. Отладка, использование среды для отладки программ
  6. Пример функций сервиса.

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

· Подключение отладчика к исследуемому процессу вручную. Подключить отладчикк уже запущенному процессу можно двумя способами: из Task Manadger или с помощью команды Build->Start Debug->Attach to Process. Недостатки этого способа связаны с тем, что от запуска процесса до присоединения отладчика проходит некоторое время, за которое может возникнуть ошибка.

· Использование точки DebugBreak. Функцию DebugBreak можно использовать для прерывания выполнения программы в любом месте. Для этого в исходный код вписывается вызов функции: DebugBreak(). Вызов этой функции аналогичен точке останова. Если режим Jast-in-Time debugging включен, то система приостановит программу и будет запущен Visual Studio Jast-in-Time Debugger. Для установки режима Jast-in-Time debugging нужно выполнить следующие действия: 1. В меню Tools выбрать пункт Options; 2. В диалоговом окне Options выбрать папку Debugging; 3. В папке Debugging выбрать страницу Just-In-Time; 4. Для того, чтобы допустить Just-In-Time debugging выбрать или очистить отвечающие программе: Managed, Native, илиScript. Для изменения ключа Just-In-Time debugging необходимо иметь права Администратора; 5. Нажать OK.

· Автоматическое подключение отладчика к процессу. Для подключения отладчика к некоторому процессу нужно открыть редактор реестра, выполнив regedit и открыть ключ HKEY_LOCAL_MACHINE\SOFTWARE\Mocrosoft\Windows NT\Current\Image File Execution Option и добавить подключ, имя которого совпадает с именем exe-файла. В этом подключе надо создать строковый параметр Debugger и записать в него полный путь к отладчику Visul C++. После присоединения отладчика последовательность действий будет такой:

1. Если сервис продолжает выполняться, необходимо остановить его.

2. Следует убедиться, что отладочные символы для приложения загружены. Для этого нужно открыть окно Debug и посмотреть сообщения отладчика. Если присутствует строка “Loaded symbol for …, no matching symbolic information found”, отладчик не нашел отладочные символы.

3. Открыть файлы с исходными кодами (File->Open) и поставить в нужных местах точки останова.

4. Возобновить работу приложения.

Литература

1. MSDN Library, Microsoft.

http://msdn.microsoft.com/ru-ru/library/d56de412.aspx

2. Jeffrey Richter. Design a Windows NT Service to Exploit Special Operating System Facilities. 19 стр., Microsoft System Journal, 1997. 19 стр. October 1997— Vol 12 No 10.http://www.microsoft.com/msj/1097/WINNT.aspx

3. Русинович М., Соломон Д. Внутреннее устройство Microsoft. Windows Sever 2003, Windows XP и Windows 2000. Мастер класс.\Пер. с англ. – 4-е изд.- М.: Издательство «Русская редакция»; СПб.: Питер, 2006. – 992 стр.

Оглавление

Введение................................................................. 3

1. Службы Windows........................................................3

1.1 Программа – служба...................................................3

1.2 Три компонента сервиса...............................................5

1.3 Диспетчер управления сервисами (SCM)................................. 4

1.4 Программы управления сервисами...................................... 6

1.5 Учетные записи сервиса...............................................10

Учетная запись локальной системы (Local System).........................10

Учетная запись сетевого сервиса (Network Service)........................ 11

Учетная запись локальной службы (Local Service)....................... 11

Выполнение сервисов под другими учетными записями.................... 11

1.6. Начало работы сервиса................................................11

1.7. Выполнение сервиса................................................. 14

2..Разработка сервиса Win32................................................16

2.1. Структура программы сервиса..........................................16

Точка входа main................................................. 17

Точка входа в сервис (ServiceMain).................................19

Точка входа по обработке команд (Handler)..........................22

2.2. Протокол взаимодействия SCM и сервиса............................26

2.3. Примеры функций сервиса...................................... 27

Программа, осуществляющая установку сервиса......................30

2.4. Отладка сервиса....................................................... 31

Список используемых источников............................................ 31

Приложение. Справочник................................................... 31

Рис.1. Архитектура Windows

Рис.2. Редактор реестра. Просмотр ключа

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

 

 


*) В специальной литературе часто испльзуется название – служба.

**) Часто используется название – Диспетчер управления службами. В частности в русском переводе MSDN и книги М. Руссиновича и Д. Соломона использутся именно такой перевод - Service Control Manager.

*) RPC – Remote Procedure Call – Вызов удаленной процедуры.

*) Апплет - англ. applet (от application) ~здесь [ прикладная ] мини-программа, утилита.

*) Точка входа – это место с которого начинается выполнение процесса или потока.


Дата добавления: 2015-08-13; просмотров: 68 | Нарушение авторских прав


Читайте в этой же книге: Службы Windows. | Диспетчер управления сервисами (SCM) | Программы управления сервисами | Учетные зависи сервиса | Начало работы сервиса | Выполнение сервиса | Структура программы сервиса | Точка входа main | Точка входа в сервис (ServiceMain) |
<== предыдущая страница | следующая страница ==>
Пример функций сервиса.| X Международный симпозиум по психодраме, телесно-ориентированной и арт-терапии

mybiblioteka.su - 2015-2024 год. (0.014 сек.)