Файл: Руссинович М., Маргозис А. Утилиты Sysinternals. Справочник администратора 2012.pdf

ВУЗ: Не указан

Категория: Книга

Дисциплина: Операционные системы

Добавлен: 29.10.2018

Просмотров: 32982

Скачиваний: 742

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

112  Часть 

II   

Работа с утилитами

На вкладке Stack вы можете выполнять следующие операции:

•  щелкнуть кнопку Save (Сохранить) для сохранения трассировки стека в 

CSV-файл;

•  дважды щелкнуть строку в трассировке стека, чтобы открыть диалоговое 

окно Module Properties (Свойства модуля). Оно отображает имя и путь 
модуля, а также описание, версию файла и имя компании, извлеченные 
из данных о версии модуля;

•  выбрать строку и щелкнуть Search (Поиск) для поиска в Интернете бо-

лее подробной информации о символах или модуле, указанном в поле 
Location. Procmon инициирует поиск с помощью браузера и поисковой 
системы по умолчанию;

•  щелкнуть кнопку Source (Источник), которая активируется, если сим-

вольная информация о выбранном фрейме стека включает сведения об 
исходном файле. Исходный файл (если он найден в предполагаемом рас-
положении) отображается в новом окне, при этом выбирается идентифи-
цированная строка исходного кода.

 Примечание 

Чтобы Procmon активировал некоторые из этих функций, должны быть 

подключены символы. Для этого в окне Procmon (см. рис. 4-1) щелкните Configure Sym-
bols (Настроить символы)
 в меню Options, подробнее см. в главе 2.

Отображение событий трассировки

Четыре класса событий, отображаемых Procmon по умолчанию, охватывают 
активность реестра, файловой системы, сети и процессов. Эти события генери-
руются процессами, работающими на компьютере. Пятый класс событий — со-
бытия трассировки — «искусственные» события, периодически генерируемые 
самой программой Procmon (за исключением событий трассировки вывода от-
ладчика, описанных ниже). События трассировки по умолчанию не отобража-
ются, но можно включить их вывод с помощью кнопки Show Profiling Events 
(Показывать события трассировки)
 на панели инструментов.

События трассировки процесса ежесекундно генерируются на компью-

тере для каждого процесса. C каждым событием регистрируются: время ЦП 
в режимах пользователя и ядра с момента запуска процесса, а также число 
байтов закрытой памяти, выделенной процессу на данный момент и размер 
рабочего набора. Атрибут Duration (Длительность) при трассировке про-
цесса установлен в ноль.

В отличие от событий трассировки процесса, данные, записываемые со-

бытиями трассировки потока, не накапливаются. Активные события трас-
сировки регистрируют время ЦП в режимах пользователя и ядра, а также 
число переключений контекста с момента предыдущей трассировки пото-
ка. Атрибут Duration сообщает общее время ЦП в режимах пользователя 
и ядра, он может использоваться в правилах фильтрации для выявления 
пиковых нагрузок на ЦП. События трассировки потока создаются только 

SIN_ch_04.indd   112

27.12.2011   14:16:26


background image

Process Monitor 

Глава 4  113 

для потоков, имеющих не менее одного переключения контекста во время 
интервала опроса, но не для потоков неработающего процесса.

События трассировки процесса всегда генерируются один раз в секун-

ду. События трассировки потока не генерируются по умолчанию, но их 
генерацию можно включить в окне Thread Profiling Options (Параметры 
трассировки потока) 
(рис. 4-7), которое открывается при выборе параметра 
Profiling Events (События трассировки) в меню Options.  При установке 
флажка Generate Thread Profiling Events (Генерировать события трасси-
ровки потока)
  Procmon генерирует события трассировки потока раз в се-
кунду либо в 100 миллисекунд в зависимости от настроек в окне Options.

 Внимание! 

Трассировка потоков требует больших затрат системных ресурсов, поэ-

тому не включайте ее без необходимости.

Рис. 4-7.  Диалоговое окно Thread Profiling Options

Поиск события

Чтобы найти событие в главном окне Procmon по тексту в записи собы-
тия, откройте окно Find (Найти). Для этого нужно нажать клавиши Ctrl 
+ F или щелкнуть кнопку с изображением бинокля на панели инструмен-
тов. Введите текст, который вы хотите найти, и щелкните Find Next (Найти 
далее)
. Procmon выберет следующее событие, содержащее искомый текст 
в любом из отображаемых полей. Чтобы повторить поиск и найти следую-
щее подходящее событие, нажмите клавишу F3. Функция Find удобна для 
быстрого поиска событий, при этом виден контекст предыдущих и после-
дующих событий, но он может быть скрыт, если использовалась фильтрация 
(см. ниже).

Копирование данных события

Нажмите клавиши Ctrl+C, чтобы скопировать запись выбранного события в 
буфер обмена в виде текста с разделителями-табуляторами. Имейте в виду, 
что для выбора нескольких объектов в списке работают стандартные методы 
Windows, в том числе Shift + клавиша–стрелка или Shift + щелчок для выбо-
ра дополнительных смежных элементов, а также Ctrl + щелчок для выбора 
несмежных элементов списка. Procmon послушно скопирует текст из любых 
полей выбранных записей.

SIN_ch_04.indd   113

27.12.2011   14:16:26


background image

114  Часть 

II   

Работа с утилитами

Можно также скопировать текст из отдельного поля, щелкнув правой 

кнопкой мыши поле и выбрав Copy в контекстном меню. В примере, пока-
занном на рис. 4-8, текст «HKCR\.exe\OpenWithProgids» копируется в бу-
фер обмена путем выбора восьмого элемента в контекстном меню.

Рис. 4-8.  Контекстное меню поля Path

Переход к параметру реестра или файлу

Чтобы перейти к нужному разделу реестра или файлу, выберите событие ре-
естра или файловой системы с указанным путем и нажмите Ctr+J. Procmon 
запустит Regedit (в случае реестра) или откроет новое окно Проводника 
(для файловой системы) и перейдет по выбранному пути. Переход можно 
также выполнить щелчком значка Jump To Object (Перейти к объекту) на 
панели инструментов или выбрав Jump To (Перейти) в контекстном меню 
события, как показано на рис. 4-8.

Поиск в Интернете

Возможен поиск имени процесса или события в Интернете. Для этого нуж-
но выбрать событие и щелкнуть Search Online (Поиск в Интернете) в меню 
Event, как показано на рис. 4-8. Procmon начнет поиск с помощью вашего 
браузера и поисковой системы по умолчанию. Это удобно при поиске вредо-
носного ПО или программ, запускающих неизвестные процессы.

Фильтрация и подсветка

Procmon способен без труда захватывать за короткое время миллионы со-
бытий от десятков процессов. Чтобы отобрать интересующие вас события, 
используйте мощные и гибкие параметры фильтрации Procmon, позволя-
ющие ограничивать количество отображаемых элементов. Те же функции 
применяются и для поиска конкретных событий. В примере, показанном на 
рис. 4-9, Procmon отображает только результаты ACCESS DENIED в 

SIN_ch_04.indd   114

27.12.2011   14:16:26


background image

Process Monitor 

Глава 4  115 

Cinmania.exe и выделяет те события, в которых путь начинается с “C:\
Windows\Fonts”. Строка состояния показывает, что из 355859 событий, со-
держащихся в журнале, только 63 соответствуют критериям фильтра и ото-
бражаются на дисплее, а больше 99,9% записанных событий скрыто.

Рис. 4-9.  Пример фильтрации и выделения в Procmon

Возможности для фильтрации у Regmon и Filemon были ограниченными. 

Одним из наиболее существенных ограничений было необратимое удаление 
элементов во время применения фильтра. В Procmon же отфильтрованные 
элементы только скрываются, но не выкидываются из исходных данных. Их 
можно вернуть на экран, изменив или удалив фильтр.

Настройка фильтров

Вы можете настраивать фильтры, используя любые атрибуты событий, как 
отображаемые, так и скрытые. Можно искать точное совпадение указанного 
значения либо частичные совпадения, например по условию «begins with» 
(«начинается с»), «ends with» («заканчивается на»), «contains» («содер-
жит»), «less than» («меньше чем») или «more than» («больше чем»), об ат-
рибутах см. выше.

Простейшим фильтрами являются фильтры по классу события, пред-

ставленные пятью кнопками в правой части панели инструментов (см. 
рис. 4-10), включающие отображение событий реестра, файловой системы, 
сети, процессов (потоков) и трассировки. Когда кнопка класса событий от-
ключается, добавляется соответствующий фильтр Exclude (Исключить)
скрывающий все события данного класса.

Рис. 4-10.  Кнопки фильтров по классу событий на панели инструментов Procmon

Еще один простой способ настройки фильтра — использование коман-

ды Include Process From Window (Включить процесс из окна). Эта функ-
ция создает фильтр по идентификатору процесса, которому соответствует 
открытое окно. Выберите кнопку с изображением прицела на панели ин-
струментов и перетащите ее в нужное окно. Окно Procmon во время этой 

SIN_ch_04.indd   115

27.12.2011   14:16:26


background image

116  Часть 

II   

Работа с утилитами

операции не отображается, а вокруг окна, над которым находится указатель 
мыши, выводится рамка. Отпустите кнопку мыши, и Procmon вновь появит-
ся, уже с добавленным в фильтр идентификатором процесса, которому при-
надлежит выбранное окно.

Полный набор параметров фильтрации см. в окне Filter (Фильтр) 

(рис. 4-11), открывается оно нажатием Ctrl+L или кнопкой Filter на пане-
ли инструментов. Заметьте, что в фильтре по умолчанию уже есть правила 
Exclude (о них будет сказано ниже).

Рис. 4-11.  Диалоговое окно Filter 

Для добавления правила фильтра выберите атрибут из первого раскры-

вающегося списка, тип проверки из второго и величину для сравнения — из 
третьего. Все операции сравнения текстовых значений чувствительны к ре-
гистру. Когда вы выбираете атрибут из первого списка, список в третьем поле 
заполняется возможными вариантами. Например, если выбрать Process 
Name (Имя процесса)
, в список третьего поля будут внесены имена про-
цессов, сгенерировавших события (только для атрибутов вроде Path это не 
делается, т.к. список возможных вариантов может быть слишком длинным). 
Можно также отредактировать значение прямо в поле со списком. В первой 
строке четвертого поля со списком можно добавлять и удалять отображае-
мые события. Щелкните кнопку Add (Добавить), чтобы добавить новые па-
раметры фильтрации к существующему фильтру. Закончив настройку спи-
ска фильтров, щелкните ОК или Apply (Применить).

Для редактирования или удаления правила из фильтра дважды щелкните 

его либо выделите и щелкните кнопку Remove (Удалить). Оно будет удале-
но из списка и возвращено в список правил, откуда его легко вернуть обрат-
но, при необходимости сначала отредактировав. Можно просто отключать 
отдельные правила, не удаляя их — достаточно снять соответствующий фла-
жок. Чтобы снова активировать правило, установите флажок снова и щел-
кните ОК или Apply.

Для восстановления значений фильтра по умолчанию щелкните кнопку 

Reset (Сброс) в диалоговом окне Filter. Чтобы выполнить данную опера-
цию из главного окна, нужно нажать клавиши Ctrl + R.

SIN_ch_04.indd   116

27.12.2011   14:16:26