Existe uma ferramenta para ver o stack de chamada do thread em execução semelhante ao Process Explorer da Sysinternals?

1

Existe uma ferramenta para ver a pilha de chamadas do encadeamento em execução semelhante ao Process Explorer da Sysinternals?

Até agora eu tentei o htop, qps e o Linux Process Explorer. Nenhum deles pode fornecer essa informação.

Obrigado!

    
por expert 24.09.2012 / 01:38

1 resposta

1

Gdb , o utilitário de depuração GNU, pode fornecer tal funcionalidade, embora somente para programas ou processos selecionados individualmente. Não há não uma maneira fácil de fazer isso e alternar entre as pilhas de chamadas dos processos em execução no sistema, como o programa Sysinternals faz no Windows. No entanto, você pode tentar pstack , mas eu não tive muito sucesso com isso.

Você também precisa instalar os pacotes dbg (ou seja, os pacotes de símbolos) para que qualquer backtrace de pilha de chamadas gdb funcione. Veja o wiki do Ubuntu para mais informações sobre esses pacotes. Basicamente, a versão dbg do pacote é instalada como a normal. Você corre, por exemplo,

sudo apt-get install xserver-xorg-core-dbg

Você pode fazer um backtrace em um programa iniciando o programa em gdb ou você pode fazer um em um programa já em execução, anexando gdb a esse processo: consulte aqui para mais detalhes.

Consulte o manual oficial para obter mais informações sobre gdb e backtracing e mais geralmente informações úteis estão aqui na página de depuração do Ubuntu .

Formas adicionais de analisar processos em execução usando strace , etc, que são úteis para desenvolvedores, etc, na análise de um processo e suas chamadas de sistema, em oposição a chamadas de pilha, foram movidas para essa questão aqui (como eu pensei que eles são agora mais relevantes lá):

por user76204 24.09.2012 / 21:26