Recuperar comandos do sistema sem ler fontes

2

Às vezes me pergunto como os programas Linux alcançam determinados resultados, sabendo que eles usam internamente chamadas de sistema ( system() ou exec() em programas C). Dado um binário funcional, eu me pergunto se é possível saber facilmente quais comandos foram executados. Em um exemplo concreto, uso a ferramenta de genealogia gramps para construir uma árvore genealógica. Eu suponho que ele gere certos gráficos usando graphviz (usando ferramentas de linha de comando em vez de bibliotecas). Agora eu quero reproduzir o mesmo manualmente na linha de comando. Esta tarefa seria muito simplificada se eu soubesse os comandos usados por gramps . Eu poderia baixar e olhar as fontes para descobrir, mas gostaria de saber se posso obter essas informações mais facilmente usando ferramentas de depuração, como strace , algo como strace gramps 2>/dev/stdout | grep system . Note que eu não gostaria de pesquisar o binário usando um editor hexadecimal a menos que isso possa ser automatizado. Observar as fontes diretamente deve ser mais fácil nesse caso.

    
por highsciguy 23.02.2014 / 16:06

1 resposta

2
strace -o dumpfile.strace -f -e trace=process $your $app $with $parameters

Você encontra o resultado no arquivo dumpfile.strace .

    
por 23.02.2014 / 16:27