comando ltrace linux

comando ltrace linux
A ferramenta de utilitário LTRACE Linux é usada para interceptar e gravar chamadas dinâmicas para bibliotecas compartilhadas no sistema. A ferramenta é útil para diagnóstico e depuração. Ele usa um mecanismo dinâmico da biblioteca que o limita a exibir apenas chamadas compartilhadas da biblioteca em um arquivo ou saída de erro padrão.

Este guia abrange como usar o LTRACE e os exemplos de instalação e uso para você começar.

Instalando o LTRACE no Linux

Para os sistemas Debian, o LTRACE é instalado usando o APT através do comando abaixo.

$ sudo apt install ltrace

Para Rhel ou CentOS, o comando é:

$ sudo yum install ltrace

Como usar o LTRACE

Você pode usar facilmente o LTRACE com um programa usando a sintaxe abaixo.

$ ltrace [Programa] [Opções]

Por exemplo, vamos criar arquivos aleatórios usando o tocar comando e use LTRACE para ver como eles se comportam.

$ ltrace touch file1.txt 2.txt 3 4

Ele apenas retorna um status de saída de 0 Para mostrar que os arquivos foram criados. Aqui, não há muita atividade, mas se tentarmos criar um arquivo de arquivo onde diferentes chamadas dinâmicas estiverem envolvidas, obteremos mais detalhes.

Vamos usar o -f Flag, que traça os processos infantis quando eles são criados pelo processo. Começamos criando um arquivo de arquivo e depois comprimindo -o enquanto rastreia os processos filhos, como na imagem abaixo.

Com ltrace, o -p A opção permite rastrear as chamadas dinâmicas de um processo de execução usando seu ID de processo.

$ ltrace -P [Process -ID]

No exemplo abaixo, usamos o LTRACE em um processo de execução com um ID de 47168.

O -r A opção LTRACE exibe o registro de registro relativo associado a cada linha de rastreamento. Por exemplo, ao usar o gato comando para criar um arquivo, podemos usar o -r opção como na saída abaixo.

O registro de data e hora é exibido abaixo após a interrupção. Semelhante ao registro de registro relativo é o -t, o que adiciona a hora do dia associada a cada linha de rastreamento. Você pode usar -tt para incluir os microssegundos.

No nosso caso, estamos executando um processo simples de LTRACE, mas você pode ver que a hora do dia é exibida à esquerda.

Use o -S sinalizador para visualizar as chamadas da biblioteca e do sistema associadas a um processo.

Até agora, vimos como usar o LTRACE e exibir os resultados na saída de erro padrão. Se você precisar redirecionar a saída para um arquivo, o -o Flag está de costas. Por exemplo, para armazenar as chamadas da biblioteca e do sistema recuperadas no exemplo acima em um arquivo nomeado Demo1.TXT, O comando será:

$ ltrace -O Demo1.txt -s ls

O arquivo é criado assim que executamos o LTRACE e, se o abrirmos, vemos que o conteúdo é semelhante a executar o mesmo comando na saída de erro padrão. Redirecionar a saída para os arquivos é uma boa maneira de armazenar resultados para referência e manter seu terminal limpo.

Às vezes, você precisa especificar quais chamadas da biblioteca para usar com LTRACE. É possível fazer isso usando o -e opção. Você só precisa usar uma cadeia de regras e especificar as regras usando padrões que identificam a biblioteca Sonames ou o nomes de símbolos. Você pode ver a página manual para entender mais sobre como trabalhar com uma cadeia de regras e padrões, mas a sintaxe geral é a seguinte.

$ LTRACE -E [Chain -Rules] [Programa]

Substitua o Correntes de cadeia com o padrão e adicione o programa para interceptar chamadas de biblioteca dinâmica; Você deveria estar pronto para ir.

Embrulhar

O comando LTRACE Linux é ótimo para interceptar e gravar todas as chamadas de biblioteca dinâmica em seu sistema. Este guia cobriu as diferentes maneiras de usar o LTRACE usando vários exemplos. Usando este guia, agora você pode facilmente trabalhar com o LTRACE.