Есть ли инструмент для просмотра стека вызовов запущенного потока, похожего на Process Explorer от Sysinternals?
До сих пор я пробовал htop, qps и Linux Process Explorer. Никто из них не может предоставить эту информацию.
Спасибо!
Gdb
, утилита отладки GNU, может предоставить такую функциональность, хотя только для отдельных программ или процессов по отдельности. Существует не простой способ сделать это и переключаться между стеками вызовов процессов, работающих в системе, как это делает программа Sysinternals в Windows. Тем не менее, вы можете попробовать pstack
, но у меня не было большого успеха с ним.
Вам также необходимо установить пакеты dbg
(то есть пакеты символов), чтобы работала любая обратная трассировка стека вызовов gdb
. См. вики Ubuntu для получения дополнительной информации об этих пакетах. По сути, версия пакета dbg
установлена очень похоже на нормальную. Вы запускаете, например,
sudo apt-get install xserver-xorg-core-dbg
. Вы можете выполнить возврат к программе, запустив программу в gdb
, или вы можете выполнить ее в уже запущенной программе, подключив gdb
к этому процессу: пожалуйста, см. здесь для более подробной информации.
Пожалуйста, смотрите официальное руководство для получения дополнительной информации о gdb
, а также об отслеживании и более общей полезной информации здесь на странице отладки Ubuntu .
Дополнительные способы анализа запущенных процессов с использованием strace
и т. Д., Которые полезны для разработчиков и т. Д. При анализе процесса и его системных вызовов, в отличие от вызовов стека, были перенесены на этот вопрос здесь (как я я думал, что они там более актуальны):