Любой инструмент Windows, чтобы отображать сведения о запущенных потоках?

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

Диспетчер задач Windows перечисляет только количество потоков, выполняемых в данном процессе. Он не предоставляет никакой конкретной информации о потоке.

Ответы

Ответ 1

Попробуйте использовать Process explorer. Он намного более мощный, чем диспетчер задач, и должен соответствовать вашим потребностям.

Ответ 2

Вы также можете попробовать processHacker, который является бесплатным, с открытым исходным кодом и зрелым. У него больше возможностей, чем ProcessExplorer.

Ответ 3

РЕЗУЛЬТАТЫ РЕЗЬБЫ

Как уже прокомментировал darioo, приложения, такие как Process Explorer от Microsoft (ранее: System Internals), могут предоставить дополнительную информацию о потоках приложения:

  • ThreadId
  • Время ядра
  • Время пользователя
  • Начальный адрес
  • Текущее состояние
  • Переключение контекста
  • и т.д.

Process Explorer можно бесплатно загрузить free из здесь.

НАЗВАНИЕ РЕЗЬБЫ

В первоначальном вопросе также задавался вопрос об определении имени потока.

Насколько я понимаю, операционная система Windows не поддерживает концепцию потока, имеющего имя. Эта концепция существует только в среде разработки Visual Studio.

Если это так, то другой способ получить имя потока во время выполнения - распечатать его вместе с сообщениями отладки/журнала. По крайней мере, вы можете использовать этот подход для отслеживания времени жизни потока. Например:

2015/06/02 14:22:17 CoreEngine Quality Assurance thread is initializing... ThreadId=123
2015/06/02 14:22:17 CoreEngine Quality Assurance thread has initialized successfully. ThreadId=123
...
2015/06/02 16:68:17 CoreEngine Quality Assurance thread is terminating... ThreadId=123
2015/06/02 16:68:18 CoreEngine Quality Assurance thread has terminated successfully. ThreadId=123

Дополнительные ссылки #