QUOTE (AHTOXA @ Apr 22 2016, 15:44)

Обратите внимание, для каждого процесса можно видеть его состояние (активный/спит), стек вызовов и все внутренние переменные. Я не ожидал, что такое возможно, если честно.
А вот так выглядит это в gdb-insight. Видно четыре процесса - их приоритеты, имена и состояния, видно, что активный IdleProc, остальные в саспенде.
 Уменьшено до 89%
1544 x 880 (166.78 килобайт)
|
Можно посмотреть, чего ждут неактивные процессы: MainProc (слева) и Terminal (справа):
 Уменьшено до 89%
1562 x 889 (218.24 килобайт)
|
 Уменьшено до 89%
1562 x 889 (232.68 килобайт)
|
Как видно, MainProc находится в слипе, а процесс Terminal ждёт флага событий.
Теперь ставим брейкпоинт на функции, вызываемой из процесса Terminal, посылаем через терминал команду, попадаем в останов:
 Уменьшено до 89%
1544 x 880 (170.66 килобайт)
|
Теперь видно, что IdleProc находится в состоянии Preempted, активный - Terminal.
Ну, и на всех картинках видно, что помимо состояния процесса и его стека вызовов отображается также и его контекст - содержимое регистров.
В общем, вся эта информация может оказаться весьма полезной. Лично для самым ценным является стек вызовов процесса - бывает, что какой-то процесс не проявляет признаков жизни, где-то залип, что-то ждёт, а что - не ясно. И вот эта фича как раз позволяет быстро увидеть, где он там пророс, т.е. локализовать направление поиска.
«Отыщи всему начало, и ты многое поймёшь» К. Прутков