QUOTE (AHTOXA @ Apr 22 2016, 15:44)
Обратите внимание, для каждого процесса можно видеть его состояние (активный/спит), стек вызовов и все внутренние переменные. Я не ожидал, что такое возможно, если честно.
А вот так выглядит это в gdb-insight. Видно четыре процесса - их приоритеты, имена и состояния, видно, что активный IdleProc, остальные в саспенде.
Можно посмотреть, чего ждут неактивные процессы: MainProc (слева) и Terminal (справа):
Как видно, MainProc находится в слипе, а процесс Terminal ждёт флага событий.
Теперь ставим брейкпоинт на функции, вызываемой из процесса Terminal, посылаем через терминал команду, попадаем в останов:
Теперь видно, что IdleProc находится в состоянии Preempted, активный - Terminal.
Ну, и на всех картинках видно, что помимо состояния процесса и его стека вызовов отображается также и его контекст - содержимое регистров.
В общем, вся эта информация может оказаться весьма полезной. Лично для самым ценным является стек вызовов процесса - бывает, что какой-то процесс не проявляет признаков жизни, где-то залип, что-то ждёт, а что - не ясно. И вот эта фича как раз позволяет быстро увидеть, где он там пророс, т.е. локализовать направление поиска.
«Отыщи всему начало, и ты многое поймёшь» К. Прутков