Skip to main content

ltrace | Linux

  • ltrace | Linux

ltrace — Documentação

O que é

ltrace é uma ferramenta do Linux usada para monitorar chamadas de funções de bibliotecas compartilhadas (dynamic libraries), feitas por um programa durante sua execução.

Ele ajuda a entender o que um processo está fazendo “por dentro”, exibindo funções como:

  • printf()
  • malloc()
  • free()
  • strcmp()
  • fopen()

Para que serve

O ltrace é muito usado para:

  • Depuração de programas
  • Diagnóstico de falhas e travamentos
  • Verificação de chamadas de biblioteca e seus parâmetros
  • Análise rápida de comportamento sem precisar alterar o código

Diferença entre ltrace e strace

  • ltrace: rastreia funções de bibliotecas
  • strace: rastreia chamadas de sistema (syscalls) feitas ao kernel

Sintaxe

ltrace [opções] comando [argumentos]

Exemplos de uso

Rastrear um comando simples

ltrace ls

Rastrear um binário local

ltrace ./meuprograma

Rastrear com argumentos

ltrace ./meuprograma --help

Anexar em um processo já em execução (PID)

ltrace -p 1234

Mostrar também chamadas de sistema (syscalls)

ltrace -S ./meuprograma

Opções comuns

-p (attach em processo)

Anexa o ltrace a um processo em execução:

ltrace -p <PID>

-S (syscalls)

Inclui syscalls junto com as chamadas de biblioteca:

ltrace -S ./meuprograma

-o (salvar saída em arquivo)

Redireciona a saída para um arquivo:

ltrace -o saida.txt ./meuprograma

-f (seguir processos filhos)

Útil quando o programa cria subprocessos:

ltrace -f ./meuprograma

Observações importantes

  • O ltrace depende de o programa estar usando bibliotecas dinâmicas (ex: .so)
  • Programas estáticos (static binaries) podem não gerar saída útil
  • Pode ser necessário rodar com permissões elevadas dependendo do processo analisado ✅