Загрузка ЦП Сервисной 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 - это троянский вирус.

Но вы говорите о библиотеках общих служб или конкретном файле?

Попробуй это:

  1. Используйте Perfmon для регистрации всех счетчиков для объекта процесса.
  2. До или после теста tasklist /svc из командной консоли. Посмотрите вывод для svchost.exe, в котором находится ваш сервис. Обратите внимание на PID этого процесса.
  3. После теста используйте Perfmon для загрузки файла журнала, добавьте измерения процесса для процесса на шаге 2.

Вы должны следить за процессом размещения DLL.

Другие вопросы по тегам