eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС
выпущен 4 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: yuu, Adler (+1 невидимый пользователь)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Основной форум —› Работа с сервисом. Арма в частности.
Посл.ответ Сообщение


Ранг: 793.4 (! !)
Статус: Участник
Шаман

Создано: 15 апреля 2008 10:57 New!
Цитата · Личное сообщение · #1

Интересуют способы отладки сервисов. Как то раньше не задумывался над этим, т.к. достаточно было приатачиться к сервису и протрассировать определенный участок кода. А тут встала проблема восстановления наномитов в защищенном армадиллой сервисе. Т.к. двойным кликом по exe сервис не запускается, а первый наномит срабатывает где то в глубинах сервиса, то при попытке восстановить наномиты арминлайном/армагедоном сервис выгружается до вызова первого наномита. Если никак не получится я конечно буду искать таблицы наномитов и дампить их, но это лишь половина проблемы. Дальше надо отследить все вызовы интересующих меня АПИ функций, начиная от EP.
Кто знает как можно подгрузить сервис в отладчик и дать ему окончательно прогрузиться, и как можно не извращаясь с таблицами распознать наномиты?

Ранг: 36.7 (посетитель)
Статус: Участник

Создано: 15 апреля 2008 13:10 New!
Цитата · Личное сообщение · #2

обычно сервис запускается параметром. к примеру "test.exe -service -start" запускаешь свой экзе с этим параметром и вперед. пропусти сервис через отладчик и посмотри какие параметры ему нужны. это слава богу просто.

Ранг: 159.1 (ветеран)
Статус: Участник

Создано: 15 апреля 2008 14:10 New!
Цитата · Личное сообщение · #3

PE_Kill
http://www.exelab.ru/f/index.php?action=vthread&forum=1&topic=9769&p age=0

Шестое снизу сообщение


Ранг: 793.4 (! !)
Статус: Участник
Шаман

Создано: 15 апреля 2008 14:23 New!
Цитата · Личное сообщение · #4

В том то и дело что не вижу я там параметров, может плохо смотрел. Ладно посмотрю конкретней раз не один я так думаю.


Ранг: 1288.1 (!!!!)
Статус: Модератор

Создано: 31 октября 2008 19:28 New!
Цитата · Личное сообщение · #5

Новых идей не появилось? Если делать как в посте tempread - сервис виснет напрочь. Не хочется юзать Syser.
Без регистрации сервис спокойно завершает работу...


Ранг: 462.8 (мудрец)
Статус: Участник
Only One!

Создано: 31 октября 2008 19:55 New!
Цитата · Личное сообщение · #6

PE_Kill

А кей заделать не получается?
Или у сервиса своя защита накрытая армой?


Ранг: 328.7 (мудрец)
Статус: Участник

Создано: 31 октября 2008 22:20 New!
Цитата · Личное сообщение · #7

патчер в руки - и с песнями

Ранг: 159.1 (ветеран)
Статус: Участник

Создано: 1 ноября 2008 00:39 · Поправил: tempread New!
Цитата · Личное сообщение · #8

Ara
как в посте tempread - сервис виснет напроч

В MSDN http://msdn.microsoft.com/en-us/library/ms686324.aspx написано, что функция StartServiceCtrlDispatcher должна выполнится в течении 30 секунд после запуска сервиса. Это условие соблюдается, при попытке отладки?


Ранг: 1288.1 (!!!!)
Статус: Модератор

Создано: 1 ноября 2008 01:36 New!
Цитата · Личное сообщение · #9

дык виснет почему-то сервис при аттаче олькой

Ранг: 384.1 (мудрец)
Статус: Участник
www.int3.net

Создано: 1 ноября 2008 07:42 New!
Цитата · Личное сообщение · #10

Ara
Иногда помогает пауза/снять паузу или установка бряка на создание треда в АПИ


Ранг: 500.6 (!)
Статус: Участник

Создано: 1 ноября 2008 07:56 New!
Цитата · Личное сообщение · #11

Как вариант, воткнути EBFE после выполнения StartServiceCtrlDispatcher.


Ранг: 1288.1 (!!!!)
Статус: Модератор

Создано: 1 ноября 2008 08:23 New!
Цитата · Личное сообщение · #12

С тредом не помогало, я уже пробывал.
NIKOLA пишет:
Как вариант, воткнути EBFE после выполнения StartServiceCtrlDispatcher.

Делал и так, в итоге до бряка на EB FE дело даже не доходит - все виснет. Наверно, все-таки придется юзать Syser. Хотя еще мож есть какие варианты? Идеально было бы конечно запустить с параметрами из ольки...

Ранг: 75.7 (постоянный)
Статус: Участник

Создано: 1 ноября 2008 09:59 New!
Цитата · Личное сообщение · #13

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


Ранг: 793.4 (! !)
Статус: Участник
Шаман

Создано: 1 ноября 2008 10:27 New!
Цитата · Личное сообщение · #14

DaRKSiDE пишет:
Или у сервиса своя защита накрытая армой?

Своя.

vel пишет:
Думаю отлаживать сервис с навешеным протом, не благодарная затея.

а здесь нигде и не написано что пытаются отладить сервис вместе с протом, проблема именно в дебаге сервиса начиная с EP.

vel пишет:
Да и, не видя пациента, трудно ставить диагноз.

Возьми любой сервис и попробуй подгрузить его в дебагер чтобы он полностью прогрузился и заработал. В моем сервисе я так и не нашел каких либо параметров.


Ранг: 1288.1 (!!!!)
Статус: Модератор

Создано: 1 ноября 2008 10:32 · Поправил: Ara New!
Цитата · Личное сообщение · #15

ЗЫ: у мну сервис без прота, просто новую тему начинать не стал такую же =)
В моем сервисе параметры есть, но из-под ольки с заполенными Arguments он все равно робит не так, как положено. Из командной строки - тож самое. А вот если запускать net start ServiceName - всё ОК.

Ранг: 75.7 (постоянный)
Статус: Участник

Создано: 1 ноября 2008 11:50 New!
Цитата · Личное сообщение · #16

Если все упростить, то запустить exe как сервис - это запустить как dll.
И отладка нечем не отличается, как еслибы мы отлаживали dll.
Нужно обратится к конкретной экспортируемой функции.
 eXeL@B —› Основной форум —› Работа с сервисом. Арма в частности.

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS