Constructor(total : number)
Сделайте новый трекер прогресса, который включает общий объем работы.
Events
Используя API EventEmitter, вы можете отправлять и обрабатывать события начала, работы и окончания.
How to monitor progress
might take a while to complete.
A user-friendly program provides some
indication to the user
about how long the task might take and
how much work has already been done.
If you don’t know or don’t want to indicate
how complete the task is,
you can use a cursor or an animated image
to indicate that some work is occurring.
If,
on the other hand,
you want to convey how complete the task is,
then you can use a progress bar
like this one:
Sometimes, you can’t immediately determine
the length of a long-running task.
As of 1.4,
you can show this uncertainty
by putting the progress bar in
indeterminate mode.
In this mode, the progress bar displays animation
to indicate that work is occurring.
As soon as the program determines the length of the task,
you should switch the progress bar back into its default,
determinate mode.
In the Java look and feel,
indeterminate progress bars
look like this:
Swing provides three classes to help you
use progress bars:
JProgressBar
- A visible component to graphically display
how much of a total task has completed.
See How to Use Progress Bars
for information and an example of using a progress bar. ProgressMonitor
- Not a visible component.
Instead, an instance of this class
monitors the progress of a task and
pops up a dialog if necessary.
See How to Use Progress Monitors
for details and an example of using a progress monitor. ProgressMonitorInputStream
- An input stream with an attached progress monitor,
which monitors reading from the stream.
You use an instance of this stream like any of the other
input streams described in
I/O: Reading and Writing (but no ‘rithmetic).
You can get the stream’s progress monitor
with a call togetProgressMonitor
and configure it as described in
How to Use Progress Monitors.
After you see a progress bar and a progress monitor in action,
Deciding Whether to Use a Progress Bar or a Progress Monitor
can help you figure out which is appropriate for your application.
uses a progress bar to measure the progress of a task
that runs in its own thread:
Try this:
- Compile and run the application.
The main source file isProgressBarDemo.java
.
You will also needLongTask.java and
SwingWorker.java
.
See Getting Started with Swing if you need help compiling or running this application.
- Push the Start button.
Watch the progress bar as the task makes progress.
The task displays its output in the text area
at the bottom of the window.
Below is the code from
ProgressBarDemo.java
that creates and sets up the progress bar:
//Where member variables are declared: JProgressBar progressBar; //...in the constructor for the demo's frame: progressBar = new JProgressBar(0, task.getLengthOfTask()); progressBar.setValue(0); progressBar.setStringPainted(true);
The constructor that creates the progress bar
sets the progress bar’s minimum and maximum values.
You can also set these values with setMinimum
and setMaximum
.
The minimum and maximum values used in this program are 0 and the
length of the task, which is typical of many programs and tasks.
However, a progress bar’s minimum and maximum
values can be any value, even negative.
The code snippet also sets the progress bar’s current value to 0.
The call to setStringPainted
causes the progress bar to display, within its bounds,
a textual indication of the percentage of the task that has completed.
By default, the progress bar displays the value
returned by its getPercentComplete
method
formatted as a percent, such as 33%.
Alternatively, you can replace the default with a different
string by calling setString
. For example,
if (/*...half way done...*/)
progressBar.setString("Half way there!");
You start this example’s task by clicking the Start button.
Once the task has begun, a timer
(an instance of theTimer
class)
fires an action event every second.
Here’s the ActionPerformed
method of
the timer’s action listener:
public void actionPerformed(ActionEvent evt) {
progressBar.setValue(task.getCurrent());
taskOutput.append(task.getMessage() newline);
taskOutput.setCaretPosition(taskOutput.getDocument().getLength());
if (task.done()) {
Toolkit.getDefaultToolkit().beep();
timer.stop();
startButton.setEnabled(true);
progressBar.setValue(progressBar.getMinimum());
}
}
The bold line of code gets the amount of work completed by the
task and updates the progress bar with that value.
So this example’s progress bar measures
the progress made by the task each second,
not the elapsed time.
The rest of the code appends a message to the output log
(a text area named taskOutput
) and,
if the task is done, turns the timer off
and resets the other controls.
As mentioned, the long-running task in this program runs
in a separate thread.
Generally, it’s a good idea to isolate a potentially long-running
task in its own thread so that the task doesn’t block the rest of the program.
The long-running task is implemented
byLongTask.java
,
which uses a SwingWorker
to ensure that the thread runs safely.
See
Using the SwingWorker Class
in Threads and Swing
for information about the SwingWorker
class.
[PENDING: We need to discuss
and give an example that shows how to use indeterminate
progress bars.
At its most basic, you use pb.setIndeterminate(true)
to make a progress indeterminate,
and then pb.setIndeterminate(false)
to set it back to its default state.]
Installation
npm install progress-monitor
Progressmonitor.adjusttotal(monitor: progressmonitor, newtotal : number)
Статическая функция для изменения total переданного монитора на newTotal. монитор возвращается после масштабирования. Если монитор уже запущен или имеет дочерние элементы, возвращается null.
Split(total: number)
Создайте новый дочерний монитор, который будет выполнять все работы для родителей. В примере ниже подмонитор создается для 50 из 100 работ родителя. Ребенок выполнит 50 из 100 работ. Ребенок начнет с общим объемом работы 50; однако вы можете изменить масштаб до 100 с помощью adjustTotal, и он все равно будет выполнять ту же долю работы, что и родитель.
To-do
- Я не знаю, должны ли события быть обернуты в функции, я написал это быстро, и мне нравится использовать API EventEmitter.
- Добавить тесты
Usage
- В начале метода вызовите adjustTotal().
- Каждый раз, когда вы хотите вызвать новый метод, используйте split() для создания нового дочернего монитора.
Быстрый фильтр
Вы можете “быстро фильтровать” некоторые параметры событий, отображаемых в основном разделе главного окна программы. В главном окне программы щелкните правой кнопкой мыши на событии.
В контекстном меню можно выбрать один из нескольких вариантов фильтрации. Мы можем включать или исключать события со сходящимся размером строки в зависимости от того, на какой колонке в строке была нажата правая кнопка мыши и какое значение имело ее значение.
Для этого выберите соответствующий пункт, начиная с Include. и Excludes. (Элементы Содержит и Исключает. Изменить фильтр., Исключить события до и Исключенное образование – все это пункты контекстного меню.
Горячие клавиши
Комбинация | Описание |
---|---|
CtrlE | активация/останов записи событий. |
CtrlX | очистка журнала захваченных событий. |
CtrlA | включение/отключение автопрокрутки событий. |
CtrlF | поиск события среди всех захваченных событий. |
CtrlC | копирование выделенного события в виде строки текста с разделителями. |
CtrlJ | перейти к выделенному объекту. |
CtrlL | открытие окна настройки фильтров. |
CtrlR | сброс фильтра в настройки по умолчанию. |
CtrlH | открытие окна подсветки. |
CtrlT | открытие дерева процессов. |
Детали событий
Process Monitor получает достаточное количество дополнительных данных от различных частей операционной системы. Все они видны в колонке Detail. Поскольку большинство из них носят чисто информативный характер, анализ их пропускает. Здесь приводится описание необходимых параметров операции, список доступных функций и другая информация.
Диагностика этапа загрузки
В операционной системе часто возникают проблемы еще до того, как отображается пользовательский интерфейс. Кроме того, существуют специализированные инструменты, такие как xbootmgr/xperf, для диагностики этих сетевых сбоев.
Для этого подходит инструмент Process Monitor. На этапе записи Procmon регистрирует все события от активных процессов. Он использует драйвер стадии заполнения, который был представлен в начале этой статьи (название может отличаться в разных версиях).
К сожалению, драйвер работает на этапе Winload.exe и (в большинстве случаев) не позволяет вести журнал на более раннем этапе Bootmgr. Опция Enable Boot Logging в меню Options используется для включения протоколирования загрузки.
Procmon предлагает расширить алгоритм профилирования потоков, включив в него профилирование равномерных потоков. Это важно, потому что в большинстве случаев медленно выполняющиеся процессы являются причиной проблем с загрузкой. Поэтому профилирование необходимо для отслеживания этих “медленных” процессов в процессе.
Понимание того, какие операции тратят время процессора, облегчается благодаря записанной информации. Запустите инструмент Process Monitor, чтобы сохранить файлы журнала процесса после завершения загрузки.
В этом случае мы предлагаем записывать события процесса загрузки в другой файл журнала с расширением.pml. Файл журнала может быть сохранен как один файл или как набор примерно одинаковых по размеру файлов, в зависимости от объема содержащейся в нем информации.
Для “средней”:) Операционная система Windows 7 SP1 x64, объем информации, которую драйвер Process Monitor записывает во время процесса загрузки, довольно значителен. При включенном профилировании потоков типичный размер может превышать 1500 мегабайт.
Вы можете использовать Process Monitor или, дважды щелкнув по pml, проанализировать файлы журнала активности этапа загрузки после их сохранения.
Однако есть одна оговорка, и она заключается в том, что если файл bootlog и связанные с ним файлы слишком большие или утилита не может найти в них достаточно места. Сообщение об ошибке “Unable to open Bootlog Pml Forreading” появляется, когда пользователь пытается создать буфер для своего сайта на компьютере с помощью программ WebMoney для Windows 10. Лично мне удалось исправить это, ненадолго включив файл подкачки, который я обычно оставляю полностью отключенным.
Замечания о переполнении буфера
Прежде чем мы продолжим, мы хотим обратить ваше внимание на код результата, который вы будете часто видеть в списке и который, учитывая все, что вы знаете, может заставить вас чувствовать себя немного неспокойно. Не думайте, что кто-то пытается взломать ваш компьютер, если вы видите BUFER OVER FLOW в списке.
Переполнение буфера
Хотя это правда, что некоторые разработчики вредоносных программ и хакеры используют уязвимости переполнения буфера для локальной или удаленной компрометации компонента.
Обратите внимание на буфер в кассовой зоне продуктового магазина, напоминающий коробку с шоколадными батончиками. Люди продолжают покупать их, и как только коробка заполняется, магазин снова становится полным.
В идеале они не будут ждать, пока ящик опустеет, потому что это будет раздражать клиентов. Цель этого буфера – избежать задержек.
Сообщение BUFFIER OVRING, особенно в Windows API и Process Monitor, указывает на то, что места в мусорной корзине недостаточно для размещения всех данных. Ответ сервера информирует клиента о том, что требуется мусорное ведро большего размера.
В примере на скриншоте выше приложение запросило определенное значение в реестре, но оно поручило Windows API сохранить его в ячейке памяти с избыточными данными. Windows ответила сообщением, информирующим приложение о том, куда добавить дополнительные данные. Так оно и было.
Изучение отдельного события
У вас так много данных, что просмотр объектов в списке – отличный способ быстро изучить конкретный фрагмент. К счастью, вы можете дважды щелкнуть по любому событию, чтобы получить более подробную информацию.
По умолчанию вкладка Событие содержит данные, очень похожие на те, что вы видели в списке. Вы увидите конкретные атрибуты и события, если просматриваете событие файловой системы.
Есть вкладка под названием Process, где можно найти подробную информацию о процессах. Process Explorer используется для управления процессами; обычно он не используется как программа или приложение для программирования процессов. Вот как собирается информация.
Вкладка Стек иногда имеет большое значение, но часто не имеет вообще никакого значения. Учитывая, что вы используете вкладку Module для поиска и устранения неисправностей, вам следует посмотреть на стек.
Рассмотрим процесс, который настойчиво пытается получить доступ к несуществующему файлу. Почему? Вы можете проверить вкладку Stack, чтобы узнать, не имеют ли какие-либо модули неправильных параметров. Возможно, вы обнаружите, что в проблеме виновато вредоносное ПО или устаревший компонент.
Или вы можете обнаружить, что в нем нет ничего, что вы могли бы использовать. Ничего страшного! Есть дополнительные данные, которые стоит просмотреть.
Изучение события
Каждая строка огромной таблицы, которую Process Monitor использует для отображения данных, собранных при записи событий, содержит только обобщенное описание каждого события. Однако, что если разделить информацию на несколько столбцов и отображать на главном экране утилиты только ограниченное количество данных?
Да, но не очень часто. Авторы Process Monitor заслуживают похвалы за более тщательную разбивку записанных событий. Давайте дважды щелкнем по строке событий и понаблюдаем, что произойдет. При двойном щелчке появляется следующее окно:
Мы можем найти общие сведения об интересующем нас событии на вкладке Событие. В целом, исследователь не получит большой пользы от использования этой вкладки.
Интерфейс монитора процесса
При первой загрузке Process Monitor представит вам значительное количество строк данных. Секрет в том, чтобы иметь общее представление как о том, что вы ищете, так и о том, на что вы смотрите. За относительно короткий промежуток времени могут появиться миллионы строк данных.
Мы покажем вам, как создавать фильтры и концентрироваться на том, что вы хотите найти. Первое, что вам нужно сделать, это отфильтровать миллионы строк до гораздо меньшего подмножества данных, которые вы хотите увидеть. Однако сначала необходимо разобраться с пользовательским интерфейсом и фактическими данными, которые доступны.
Как запустить process monitor
Запустите Procmon64.exe или Procmon.exe для 64-битных и 32-битных систем, соответственно, если вы загрузили весь пакет SysInternals.
Как уже было сказано, у вас должны быть права администратора.
Как это работает
Process Monitor использует драйвер режима ядра, созданный компанией Symantec (что насчет подписи?). Когда опция Enable Boot Logging включена, драйвер исполняемого образа под названием procmon23.sys становится доступным для использования Process Monitor на 32-битных системах.
Но исполняемый файл procmon.exe является единственным двоичным файлом, присутствующим в рабочем каталоге приложения, верно? Драйвер был автоматически помещен внутрь основного компонента, как только он был упакован в тело основного исполняемого файла procmon.exe.
Вы можете проверить наличие драйвера procmon23.sys в исполняемом файле на странице BINRES хранилища ресурсов, используя любой инструмент для поиска ресурсов PE-файлов:.
Когда Process Monitor запускается, он распаковывает скрытый файл во временный каталог%TEMP% на 64-битной системе. Раздел ресурсов основного файла ProCon – 64, который находится внутри его основной части, содержит образ procmon64.exe.
Когда пользователь выбирает опцию Enable Boot Logging, Process Monitor копирует драйвер procmon23.sys в папку Symmetry32Drivers в корне системы и регистрирует его на странице реестра HKLMS STERRINT Control Service Secrets со значением Start = 0.
Этот драйвер-фильтр, похоже, применяется ко всем событиям в мире. Process Monitor также отслеживает сетевую активность с помощью технологии Event Tracing (ETW).
Какой из них служит драйвером или приемником для ETW, не совсем ясно. ETW – это сложная система протоколирования, интегрированная в ядро и позволяющая собирать события от программ пользовательского режима по требованию.
Мы все знаем, что операционная система имеет возможность отслеживать, как выполняются операции. Благодаря более широкому охвату ETW предлагает наиболее полные данные о работе, включая статистику по прерываниям и переключению контекста.
Меню filter
Доступ к любому типу фильтра, который используется в Process Monitor, можно получить с помощью подпункта “Наполнитель” и меню “Фильтр”. Следующая таблица, содержит полный (общий) список критериев фильтрации:
Нажав кнопку Фильтр на панели инструментов или нажав комбинацию клавиш Ctrl L. В окне настроек фильтра у пользователя есть широкий выбор опций для маскировки системных событий.
Окно фильтра монитора процессов занимает нижнюю часть окна, а в верхней части расположен список истории приложений. Перемещаясь слева направо по всем атрибутам, которые отображаются в виде выпадающих списков, можно добавить фильтр.
Поскольку некоторые атрибуты связаны между собой, выбор одного из них может автоматически отобразить значения для других списков. Некоторые поля позволяют изменять значения. После создания фильтра необходимо нажать кнопку Добавить, чтобы новые параметры фильтрации добавились к тем, которые уже присутствуют в нижней части окна.
Просто дважды щелкните на строке, описывающей этот тип, чтобы отредактировать правила фильтра. Чтобы завершить редактирование фильтра, переместите параметры в верхнюю часть окна (где уже будут заполнены соответствующие условия) и нажмите кнопку Добавить еще раз.
Кнопка Удалить позволяет удалить фильтр. Нажав кнопку OK или Применить после завершения редактирования фильтров, вы можете активировать их. Чтобы восстановить исходные настройки фильтров по умолчанию, нажмите кнопку Сбросить.
Как вы могли заметить, список предопределенных фильтров по умолчанию включает набор правил Exclude. События, являющиеся событиями активности компонентов операционной системы, компоненты которых не представлены в сценарии, скрываются с помощью этих правил.
В этом разделе вы найдете исключения для Procmon (Process Monitor), Prosexp и Autoruns.
Панель инструментов
Поясним назначение кнопок, размещенных на панели инструментов интерфейса утилиты Process Monitor:
Справа направо:
- Открыть – загрузить ранее записанные события (следы);
- Записать – записать все захваченные события (следы);
- Захват – включить/выключить захват событий;
- Автопрокрутка – автоматическая прокрутка событий на главном экране;
- Очистить – очистить главное окно и все захваченные события;
- Фильтр – установить фильтрацию и выделение событий;
- Выделить – установить выделение событий;
- Включить процесс окна – установить фильтрацию событий по определенному окну на рабочем столе. Позволяет навести курсор на целевое окно, Process Monitor определяет, является ли окно процессом, и включает фильтрацию по этому процессу;
- Show Process Tree – дерево процессов;
- Search – поиск событий по заданным критериям;
- Jump to Object – переход к разделу журнала или файлу. Process Monitor сканирует содержимое столбца Path выбранной строки, запускает Registry Explorer/Editor и открывает соответствующий элемент дерева;
- Show Log Activity – переключает состояние отображения событий активности журнала среди всех системных событий;
- Show File System Activity – изменяет состояние отображения событий активности файловой системы среди всех системных событий;
- Показать сетевую активность – изменение состояния отображения событий сетевой активности среди всех системных событий;
- Показать активность процессов и потоков – изменение состояния отображения событий активности процессов и потоков среди всех системных событий. Профили – события, регистрируемые утилитой Process Monitor для расчета количества процессорного времени и памяти, используемых каждым процессом.
Переход к пути к данным события
Даже если все эти данные точны, никто не хочет проверять их вручную. К счастью, вы можете быстро получить доступ ко всей этой информации, щелкнув правой кнопкой мыши на Path элемента и выбрав опцию Jump To.
Примечание. Вы также можете использовать функцию Search Online (поиск в Интернете), чтобы быстро найти имя процесса, путь в реестре или любое другое поле, что может быть действительно полезно, когда вы не понимаете, для чего что-то используется.
Теперь, когда мы в курсе, приложение пытается определить мое местоположение и название папки appdata.
Это был поисковый инструмент под названием Conduit, который заглянул в мою папку пользователя и попросил меня зарегистрироваться.
Подсветка событий
В Procmon можно выделять события цветом. Фильтрация удаляет из вывода лишние события, тогда как выделение привлекает внимание только к тем, которые необходимы. Такие события специально не упоминаются фильтром, поскольку он лишь использует другой цвет для идентификации событий.
Видно, что оно в точности повторяет окно настроек фильтра, за исключением того, что в нем отсутствуют какие-либо параметры по умолчанию, т.е. выделение полностью отключено. Алгоритм, используемый для установки параметров выделения и выбора результатов окна фильтра, в основном такой же, как и для результатов окна выделения.
Поиск по событиям
Фильтровать результаты – это здорово! Однако чаще всего невозможно создать условия, которые позволили бы сократить диапазон отфильтрованных событий до приемлемого минимума. Фильтрация позволяет нам гибко манипулировать выборкой из всего потока событий.
Однако вывод отфильтрованных строк иногда помогает обнаружить какую-то константу. Иногда это помогает искать ключевое слово в плотных данных, не зная, к какому столбцу оно относится.
Появится окно поиска, которое вы привыкли видеть в других продуктах Microsoft. Утилита прокручивает экран до первого случайно найденного значения и отмечает весь лист синим цветом, когда оно найдено.
Серия уроков по пакету утилит sysinternals
1. Как использовать инструменты SysInternals? Что это такое?
2. Навигатор процессов Узнайте об этом устройстве
3. Использование Process Explorer для устранения неполадок и диагностики
4. Понимание работы монитора процесса
5. Как использовать Process Monitor для поиска скрытых ключей реестра и устранения неполадок
6. Использование автозапуска для борьбы с вредоносным ПО и автоматически запускаемыми процессами
Следующий урок
В следующем уроке мы соберём воедино все полученные знания и покажем, как использовать Process Monitor в реальном мире для выполнения забавных и интересных вещей.
Связанные статьи:
Слишком много данных? попробуйте удалить отфильтрованные события
Используйте функцию Filter – Drop Fillered Events, если вы уверены, что ваши фильтры настроены правильно, и вы хотите видеть только те события, которые вас интересуют.
В действительности экземпляр Process Monitor в данном случае отображает только эти элементы фильтра.
Главный недостаток этой функции заключается в том, что если вы поймете, что слишком много фильтровали, вы не сможете вернуть эти отфильтрованные события. Вы рискуете потерять время, если не перепишете сценарий. Будьте осторожны при выборе этой опции.
Сохранение дампов для последующего анализа
Функция Open/Save, которую мы обычно не выделяем в других приложениях, будет нашей последней темой на сегодня.
Подумайте о работе в действительно плохой среде на устаревшем и некачественном компьютере. Вы можете сохранить данные с флэш-накопителя и начать анализ после запуска сканирования Process Monitor на их компьютере. Вы могли бы даже посетить кофейню и провести анализ там.
Кроме того, вы можете попросить Process Monitor запуститься удаленно, выполнить сканирование и отправить результаты вам для анализа. Таким образом, вы можете работать удаленно.
Столбцы process monitor
В колонках по умолчанию, которые присутствуют в интерфейсе Process Monitor, содержится много полезной информации. Каждый столбец по умолчанию служит для следующих целей:
- Время – Эта колонка не требует пояснений, она показывает точное время, когда произошло событие.
- Имя процесса – имя процесса, создавшего событие. По умолчанию полный путь к файлу здесь не отображается, но если навести курсор на поле, то можно увидеть, какой именно процесс это был.
- PID – Process ID – Идентификатор процесса, создавшего событие. Это очень полезно, если вы пытаетесь выяснить, какой процесс svchost.exe сгенерировал событие. Это также хороший способ изолировать один процесс для мониторинга, если он не перезапускается.
- Операция – Операция – это название регистрируемой операции и значок, соответствующий одному из типов событий (реестр, файл, сеть, процесс). Названия RegQueryKey и WriteFile могут быть немного запутанными, но мы постараемся помочь вам разобраться в них.
- Путь – путь – это не путь процесса, а путь к тому, над чем работало событие. Например, если имело место событие WriteFile, в этом поле будет показано имя файла или папки, с которым произошел обмен данными. Если бы это было событие регистрации, то отображался бы полный доступ к ключу.
- Result отображает результат операции, который имеет код SUCCESS или ACCESS DENIED. Хотя у вас может возникнуть искушение интуитивно предположить, что BUFFER TOO SMALL означает, что произошло что-то очень плохое, в большинстве случаев это не так.
- Подробности – Подробности – это дополнительная информация, которая часто не используется в обычном мире поиска и устранения неисправностей.
Выбрав Options Select Column, вы можете увеличить количество столбцов в отображении по умолчанию. Хотя это не имеет решающего значения, мы описываем столбцы.
Тот факт, что вы можете быстро и легко удалить эти события, как раз и является одной из причин добавления дополнительных столбцов в отображение. Вот несколько дополнительных столбцов, которые мы используем, но вы можете найти применение и другим столбцам в списке, исходя из обстоятельств.
- Командная строка – Хотя вы можете дважды щелкнуть на событии, чтобы отобразить аргументы командной строки для процесса, который сгенерировал событие, может быть полезно быстро отобразить все параметры.
- Название компании – Основная причина, по которой этот столбец полезен, заключается в том, что вы можете быстро исключить все события Microsoft и ограничить мониторинг всем остальным, что не является частью Windows. (Вы должны убедиться, что в Process Explorer не запущено никаких странных процессов rundll32.exe, так как они могут скрывать вредоносное ПО).
- Parent PID – Parent PID – может быть очень полезен при диагностике процесса, который имеет несколько дочерних процессов, например, веб-браузер или программа, которая постоянно запускается внезапно, как другой процесс. Затем вы можете отфильтровать их по PID родителя, чтобы убедиться, что вы поймали их всех.
Важно отметить, что данные столбцов можно фильтровать, чтобы не отображать их вручную. И да, мы снова затронули тему фильтров. Несмотря на то, что мы еще не полностью объяснили их.
Фильтрация по владельцу окна
Утилита Procmon может фильтровать события по дескриптору (идентификатору) окна приложения в дополнение к стандартным параметрам фильтрации. Пользователь может использовать эту функцию для просмотра окна процесса, в котором находится соответствующее окно. Найдите значок Aim на панели инструментов, чтобы включить эту функцию.
Он автоматически создаст соответствующий фильтр в главном окне, когда вы перетащите его на интересующее вас окно в Procmon.
Фильтрация по классу
Это самый простой, даже грубый способ фильтрации событий: файлы реестра и сети, активность процессов/потоков. В правой части панели инструментов находятся пять кнопок:
Фильтр с предписанием Исключить добавляется к общему набору фильтров всякий раз, когда любая из перечисленных кнопок класса деактивируется (нажимается) пользователем на командной панели; он удаляет все события этого типа.
Фильтрация событий
Как уже было сказано, в системе происходит множество событий (производимых различными компонентами). Process Monitor “видит” меньше событий в целом, хотя и не намного. Имеет ли смысл спрашивать, все ли события нам нужны? Решение очевидно.
Большинство событий, которые видны в главном окне программы, не нужны для выполнения каких-либо конкретных задач пользователя. Так, пока он занят просмотром ключей реестра, содержащих конфигурацию интересующих его программ, пользователю не нужно видеть, что загружается изображение внезапно запускающегося апдейтера.
Вы можете отключить отображение события и скрыть его с помощью фильтрации. Но при необходимости можно отключить фильтр и устранить (отфильтровать) каждое событие.
Программа Procmon, включающая фильтрацию как одну из своих основных функциональных возможностей (в данном случае функцию “фильтрация”), очень эффективна. Любой атрибут события, который доступен программе, может быть использован для фильтрации событий. Как можно фильтровать события в Process Monitor?