Отладка служб Windows при запуске

Как я могу отладить службу Windows при ее запуске?

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

Я ищу здесь не отладку кода, а сообщение Windows между службой и Windows, но я не могу найти ничего в журнале событий, возможно, мне нужно включить его?

Я думаю, что что-то между строками окон думает, что моя служба является вирусом, или окна не могут подключиться к моей службе по имени, что-то в этом роде.

Кто-нибудь знает, как я могу увидеть такую ​​информацию в средстве просмотра событий или аналогичном?


person Icaro    schedule 05.06.2015    source источник


Ответы (1)


Отладка служб Windows является довольно сложной задачей, поскольку они работают в сеансе 0 без возможности взаимодействия с рабочим столом и пользователя.

Один из способов отладки службы - настроить сеанс удаленной отладки с помощью windbg, как описано здесь.

Другой способ - использовать мой инструмент winsvcdiag, который должен упростить процесс и сделать возможной отладку из VS: https://lowleveldesign.wordpress.com/2015/06/22/how-to-debug-windows-services-Written-in-net-part-ii/

И я не уверен, какой тип журналов событий вы хотите видеть. Когда служба Windows дает сбой, в системном журнале обычно появляется краткое сообщение. Вы всегда можете проверить, сообщает ли монитор процессов какие-либо ошибки для вашей службы.

person Sebastian    schedule 25.06.2015
comment
Спасибо @lowleveldesign Я просмотрел ссылки, и они очень полезны, к сожалению, я до сих пор не могу понять, почему служба запускается и останавливается, я предполагаю, что это как-то связано с процессами Windows, поскольку это происходит до того, как мой журнал даже начнет то, что это первое, что я делаю - person Icaro; 26.06.2015
comment
@Icaro вы пробовали монитор процесса? Там есть диалог Инструменты- ›Дерево процессов. Найдите свой процесс, затем щелкните правой кнопкой мыши и выберите фильтрацию событий по этому процессу. Вы видите какие-либо подозрительные результаты, например ЗАПРЕЩЕННЫЙ ДОСТУП? Вы можете поделиться собранной трассировкой, если вам нужна помощь. - person Sebastian; 26.06.2015