9.3. Monitoramento das chamadas de função da biblioteca da aplicação com ltrace


A ferramenta ltrace permite monitorar as chamadas de uma aplicação para funções disponíveis em bibliotecas (objetos compartilhados).

Nota

No Red Hat Enterprise Linux 8.0, um problema conhecido impede que ltrace rastreie arquivos executáveis do sistema. Esta limitação não se aplica a arquivos executáveis construídos pelos usuários.

Procedimento

  1. Identificar as bibliotecas e funções de interesse, se possível.
  2. Iniciar ltrace e anexá-lo ao programa.

    • Se o programa que você deseja monitorar não estiver em execução, inicie ltrace e especifique program:

      $ ltrace -f -l library -e function program
    • Se o programa já estiver em execução, encontrar sua identificação de processo (pid) e anexar ltrace a ele:

      $ ps -C program
      (...)
      $ ltrace -f -l library -e function program -ppid
    • Use as opções -e, -f e -l para filtrar a saída:

      • Forneça os nomes das funções a serem exibidas como function. O -e function pode ser usado várias vezes. Se omitido, ltrace exibe chamadas para todas as funções.
      • Em vez de especificar funções, você pode especificar bibliotecas inteiras com o -l library opção. Esta opção se comporta de forma semelhante à -e function opção.
      • Se você não quiser rastrear nenhum processo bifurcado ou rosca, deixe de fora a opção -f.

      Consulte a página ltrace(1)_ manual para mais informações.

  3. ltrace exibe as chamadas da biblioteca feitas pela aplicação.

    Na maioria dos casos, uma aplicação faz um grande número de chamadas e a saída ltrace aparece imediatamente, se nenhum filtro for configurado.

  4. ltrace sai quando o programa sai.

    Para encerrar o monitoramento antes da saída do programa rastreado, pressione ctrl C.

    • Se ltrace iniciou o programa, o programa termina junto com ltrace.
    • Se você anexou ltrace a um programa já em execução, o programa termina junto com ltrace.
  5. Analisar a lista de chamadas da biblioteca feitas pelo aplicativo.

    • Se a aplicação falhar, as informações importantes estarão provavelmente no final do registro.
    • A saída contém muitas informações desnecessárias. Entretanto, é possível construir um filtro mais preciso e repetir o procedimento.
Nota

É vantajoso tanto ver a saída quanto salvá-la em um arquivo. Use o comando tee para conseguir isso:

$ ltrace ... |& tee your_log_file.log

Recursos adicionais

  • A página do manual ltrace(1):

    $ homem ltrace
  • Guia do Usuário do Red Hat Developer Toolset
Red Hat logoGithubRedditYoutubeTwitter

Aprender

Experimente, compre e venda

Comunidades

Sobre a documentação da Red Hat

Ajudamos os usuários da Red Hat a inovar e atingir seus objetivos com nossos produtos e serviços com conteúdo em que podem confiar.

Tornando o open source mais inclusivo

A Red Hat está comprometida em substituir a linguagem problemática em nosso código, documentação e propriedades da web. Para mais detalhes veja oBlog da Red Hat.

Sobre a Red Hat

Fornecemos soluções robustas que facilitam o trabalho das empresas em plataformas e ambientes, desde o data center principal até a borda da rede.

© 2024 Red Hat, Inc.