Empêcher strace d'abréger les arguments?


117

J'essaie d'utiliser strace pour savoir quelles commandes un programme exécute en utilisant execve. Certains des arguments de ces commandes sont assez longs, et strace abrégé les arguments en execve(je vois "..." après environ 30 caractères), m'empêchant d'obtenir des informations utiles. Comment puis-je obtenir le texte intégral de chaque argument?

J'ai lu la page de manuel . L'option -v imprime l'environnement, ce qui est utile, mais les arguments sont toujours tronqués.

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

J'ai également essayé de passer verbose = all, mais cela donne juste des informations supplémentaires sur SIGCHLD.

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

Réponses:


162

Vous voulez que l' option, qui spécifie la longueur maximale d'une chaîne à afficher (la valeur par défaut est 32).-v -s strsize


14
Cela ne fonctionne pas pour les arguments "imbriqués" ou de tableau, par exempleioctl(3, SNDCTL_TMR_TEMPO or TCGETA, {B9600 -opost -isig -icanon -echo ...})
Marki555


2
Comme un autre utilisateur l'a noté dans un commentaire ici "l'argument -v fonctionne à partir de 4.15 et semble avoir été là depuis le moment de la création du dépôt Git." Vous n'avez donc pas à modifier la source du paquet, -v devrait fonctionner correctement avec les objets imbriqués.
DarkFranX
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.