O "strace”É um utilitário de linha de comando Linux que é uma ferramenta útil e poderosa para capturar, monitorar e solucionar problemas dos programas em um sistema. Ele registra e intercepta as chamadas do sistema, o que é bastante útil quando algum programa trava e não é executado conforme o esperado.
O "strace”A ferramenta de comando imprime como o programa opera e se comunica com o sistema. Com isso, o usuário pode decifrar facilmente onde os erros estão ocorrendo enquanto carrega o programa.
O "LTRACE”Comando é um utilitário de sistema Unix que é bastante semelhante ao“strace”Comando, a diferença é que ele captura as chamadas dinâmicas de bibliotecas compartilhadas. A ferramenta de comando "ltrace" não é uma ferramenta útil para rastrear bibliotecas estaticamente vinculadas.
A sintaxe do “strace”O comando é:
Strace [Opções…] [Comando]
Como instalar o comando “strace”?
O "strace”É uma ferramenta embutida nos sistemas Linux, mas se não for pré-instalada na máquina, digite o comando fornecido no terminal:
$ sudo apt install strace
Como usar as opções de comando “strace”?
Executar as opções fornecidas para verificar o funcionamento de “strace”Comando:
Chamadas do sistema de rastreamento
Para rastrear a lista de todas as chamadas do sistema do sistema, execute o “strace”Comando com o“df”Comando em um terminal:
$ strace df -h
(A opção "-h" exibirá a saída em formato legível pelo homem)
Ponteiro de instrução durante as chamadas do sistema
Para exibir o ponteiro de instrução enquanto cada chamada do sistema do programa está listada no terminal, use o comando fornecido:
$ strace -i df -h
Tempo de saída de rastreamento
Para exibir a hora do relógio do dia para a saída de rastreamento em cada linha, digite o “-t”Opção com o comando fornecido:
$ sudo strace -t df -h
Tempo consumido na chamada do sistema
Execute o “-T”Opção na linha de comando para exibir o tempo
consumido de cada chamada de sistema, que inclui seu horário inicial e de término:
$ strace -t df -h
Rastrear chamadas específicas do sistema
Nas seções acima, vimos as listas para rastrear chamadas do sistema, mas se você quiser rastrear chamadas específicas do sistema, faça -o através do “-e”Opção usando as seguintes maneiras:
Supunha -se que você gostaria de rastrear as chamadas do sistema de "Read", o comando seria:
$ sudo strace -e rastreio = leia df -h
Aqui, Trace é denominado como “qualificador" e a "ler”É o seu valor.
Para rastrear a chamada do sistema de valor de qualificador “sinal”, Digite o comando:
$ sudo strace -e rastrear = sinal df -h
Para rastrear as chamadas do sistema de valor qualificador “rede", tipo:
$ sudo strace -e rastrear = rede df -h
Para rastrear todas as chamadas do sistema que incluem “memória", tipo:
$ strace -e rastrear = memória df -h
(OBSERVAÇÃO: Algumas das ações precisamsudo”Privilégios para funcionar enquanto alguns podem ser feitos sem ele).
Conclusão
O "strace”Comando é um utilitário UNIX usado para rastrear chamadas e bibliotecas do sistema. Através de "strace”Comando, você pode monitorar e capturar as chamadas do sistema para solucionar os problemas do programa. O "LTRACE”O comando é semelhante ao“strace”Comando, mas não captura as bibliotecas estaticamente vinculadas.