Verhindern Sie, dass Strace Argumente abkürzt?

117

Ich versuche mit strace herauszufinden, mit welchen Befehlen ein Programm ausgeführt wird execve. Einige der Argumente in diesen Befehlen sind ziemlich lang, und strace verkürzt die Argumente auf execve(ich sehe "..." nach ungefähr 30 Zeichen), wodurch verhindert wird, dass ich nützliche Informationen erhalte . Wie kann ich den vollständigen Text jedes Arguments erhalten?

Ich habe die Manpage gelesen . Die Option -v gibt die Umgebung aus, was nützlich ist, aber die Argumente werden immer noch abgeschnitten.

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

Ich habe auch versucht, verbose = all zu übergeben, aber dies gibt nur einige zusätzliche Informationen über SIGCHLD.

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

Antworten:

162

Sie möchten die Option, die die maximale Länge einer anzuzeigenden Zeichenfolge angibt (die Standardeinstellung ist 32).-v -s strsize

Matthew Slattery
quelle
14
Dies funktioniert nicht für "verschachtelte" oder Array-Argumente, z. B.ioctl(3, SNDCTL_TMR_TEMPO or TCGETA, {B9600 -opost -isig -icanon -echo ...})
Marki555
8
es wurde bei stackoverflow.com/questions/34365928/…
Vladimir Kunschikov
2
Wie ein anderer Benutzer in einem Kommentar hier feststellte , "funktioniert das Argument -v ab 4.15 und scheint seit der Erstellungszeit des Git-Repos vorhanden zu sein." Damit Sie die Quelle des Pakets nicht ändern müssen, sollte -v mit verschachtelten Objekten problemlos funktionieren.
DarkFranX