Опубликован: 27.05.2013 | Уровень: для всех | Доступ: платный | ВУЗ: Вятский государственный гуманитарный университет
Самостоятельная работа 2:

Создание и управление процессами и потоками

< Лекция 6 || Самостоятельная работа 2: 1234 || Лекция 7 >

Задание 2. Получить информацию о процессе и его потоках.

Указания к выполнению.

1. Как уже отмечалось, для получения информации о процессах используется команда !process. У неё есть следующие варианты:

!process 0 0отображение краткой информации о всех процессах в системе;

!process id 7отображение полной информации о процессе с идентификатором id;

!process id 0отображение краткой информации о процессе с идентификатором id;

!process address 7отображение полной информации о процессе с адресом address структуры EPROCESS;

!process address 0отображение краткой информации о процессе с адресом address структуры EPROCESS.

2. Чтобы узнать идентификатор процесса, можно воспользоваться либо командой отладчика !process (этот способ уже демонстрировался), либо специальными утилитами, например Process Explorer или Task Manager (Диспетчер задач).

Продемонстрируем второй способ на примере процесса explorer.exe.

Возобновите выполнение виртуальной машины: нажмите F5 или выберите пункт меню DebugGo или щелкните кнопку Go на панели инструментов.

На виртуальной машине запустите утилиту Process Explorer от Sysinternals.

Замечание. Утилиту Process Explorer можно скачать на сайте Sysinternals: http://technet.microsoft.com/ru-ru/sysinternals. Информацию о ней можно получить либо на том же сайте, либо в литературе [5; 2].

Идентификатор процесса указывается в поле PID (Process Identifier):


В примере на рисунке PID = 2028 (в десятичном виде) или 7EC (в шестнадцатеричном виде).

3. Остановите выполнение виртуальной машины (нажмите Ctrl+Break в отладчике).

В окне команд введите

!process 7EC 0

или

!process 81F24BD0 0

Результаты вывода почти одинаковые, за тем исключением, что в первом случае дополнительно выводится адрес таблицы дескрипторов процесса:


4. Чтобы вывести информацию о потоках процесса, наберите команду:

!process 7EC 4

Для каждого потока указывается адрес его структуры ETHREAD (на рисунке выделено красным цветом), идентификатор потока (синий цвет) и текущее состояние потока (зеленый цвет).

Для отображения полной информации о потоках процесса введите команду:

!process 7EC 7
< Лекция 6 || Самостоятельная работа 2: 1234 || Лекция 7 >
Фанис Гильманов
Фанис Гильманов
Россия, г. Нижнекамск
chunhu wu
chunhu wu
Аргентина, jhkh jk k