Загрузка ЦП Сервисной DLL?
Мне нужно выяснить загрузку процессора служебной DLL. Я посмотрел в существующих примерах, и мы можем найти загрузку процессора для процессов.
Я думаю, что DLL будет загружен services.exe. Так можно ли узнать загрузку процессора DLL.
Я работаю в C++ на платформе Windows.
4 ответа
Сделайте копию svchost.exe и назовите ее dbgsrvc.exe; затем перейдите к записи службы в реестре (например, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog) и измените ImagePath, чтобы использовать dbgsrvc вместо служб. Таким образом, вы изолировали свой сервис в своем собственном процессе, чтобы на нем можно было получить счетчики производительности.
Единственные счетчики производительности, доступные в Windows, находятся на уровне процесса. Что вы подразумеваете под сервисом DLL? Единственная известная мне служба.DLL - это троянский вирус.
Но вы говорите о библиотеках общих служб или конкретном файле?
Попробуй это:
- Используйте Perfmon для регистрации всех счетчиков для объекта процесса.
- До или после теста
tasklist /svc
из командной консоли. Посмотрите вывод для svchost.exe, в котором находится ваш сервис. Обратите внимание на PID этого процесса. - После теста используйте Perfmon для загрузки файла журнала, добавьте измерения процесса для процесса на шаге 2.