Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

как получить более подробную информацию о потоках процесса?

318
16 марта 2010 года
nof
193 / / 03.04.2006
Ребят, скачал тут process explorer, он показывает помимо всего прочего дллку, в которой запущен каждый из потоков любого процесса. Вот пример на мозилле:

http://img294.imageshack.us/img294/6429/71670124.png

Каждый поток мы получаем в виде THREADENTRY32 структуры (если через CreateToolhelp32Snapshot). Но в этой структуре я даже близко ничего не нашёл такого... скажите пожалуйста, как можно узнать название дллки в которой поток запущен? Также как это делает process explorer на скриншоте.
394
16 марта 2010 года
MegaMozg
317 / / 18.03.2006
Вот тут
Что касаемо "длл-ок", смотрите о списках модулей
14
16 марта 2010 года
Phodopus
3.3K / / 19.06.2008
Он показывает адрес который был передан функции CreateThread(). Адрес этот он берет из стека потока, насколько мне помнится. Доступ к стеку потока он получает через отладочные привелегии (или драйвер) - тут точно не помню.
318
16 марта 2010 года
nof
193 / / 03.04.2006
Цитата: MegaMozg
Вот тут
Что касаемо "длл-ок", смотрите о списках модулей


Да это понятно. Получается у меня есть два списка - список модулей и список тредов. Как мне понять какой из тредов какому модулю пренадлежит? В этом собственно весь вопрос.

Цитата: Phodopus
Он показывает адрес который был передан функции CreateThread(). Адрес этот он берет из стека потока, насколько мне помнится. Доступ к стеку потока он получает через отладочные привелегии (или драйвер) - тут точно не помню.


уууу я думал это попроще будет

5
16 марта 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: nof
Да это понятно. Получается у меня есть два списка - список модулей и список тредов. Как мне понять какой из тредов какому модулю пренадлежит? В этом собственно весь вопрос.

По адресу, по которому был запущен поток можно определить модуль.

318
16 марта 2010 года
nof
193 / / 03.04.2006
Цитата: hardcase
По адресу, по которому был запущен поток можно определить модуль.


А где этот адрес взять?)

THREADENTRY32 struc
_size dd ? ; размер структуры
_usage dd ? ; ссылок на тред - живет, пока не равно нулю
_threadID dd ? ; идентификатор треда
_ownerProcessID dd ? ; PID процесса, которые владеет тредом
_basePri dd ? ; начальный уровень приоритета
_deltaPri dd ? ; разность со знаком относительно базового приоритета
_flags dd ? ; зарезервировано
THREADENTRY32 ends

Вот структура описывающая поток.. ничего подобного тут нет.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог