Impedir strace de abreviar argumentos?


117

Estou tentando usar o strace para descobrir quais comandos um programa executa usando execve. Alguns dos argumentos nesses comandos são bastante longos, e strace está abreviando os argumentos para execve(vejo "..." após cerca de 30 caracteres), me impedindo de obter qualquer informação útil. Como posso obter o texto completo de cada argumento?

Eu li a página do manual . A opção -v imprime o ambiente, o que é útil, mas os argumentos ainda estão truncados.

strace -f -e trace=execve -v -p 1234

Eu também tentei passar verbose = all, mas isso apenas fornece algumas informações extras sobre SIGCHLD.

strace -f -e verbose=all trace=execve -v -p 1234

Respostas:


162

Você deseja a opção, que especifica o comprimento máximo de uma string a ser exibida (o padrão é 32).-v -s strsize


14
Isso não funciona para argumentos "aninhados" ou de matriz, por exemploioctl(3, SNDCTL_TMR_TEMPO or TCGETA, {B9600 -opost -isig -icanon -echo ...})
Marki555


2
Como outro usuário observou em um comentário aqui "o argumento -v funciona a partir de 4.15 e parece estar lá desde o tempo de criação do repositório Git." Portanto, você não precisa alterar a fonte do pacote, -v deve funcionar bem com objetos aninhados.
DarkFranX de
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.