Zapobiegniesz skracaniu argumentów przez strace?

117

Próbuję użyć strace, aby dowiedzieć się, jakie polecenia program wykonuje przy użyciu execve. Niektóre argumenty w tych poleceniach są dość długie, a strace skraca je do execve(widzę „…” po około 30 znakach), uniemożliwiając mi uzyskanie jakichkolwiek przydatnych informacji. Jak uzyskać pełny tekst każdego argumentu?

Przeczytałem stronę podręcznika . Opcja -v wyświetla środowisko, co jest przydatne, ale argumenty są nadal obcięte.

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

Próbowałem też przekazać verbose = all, ale to daje tylko dodatkowe informacje o SIGCHLD.

strace -f -e verbose=all trace=execve -v -p 1234
Jay Conrod
źródło

Odpowiedzi:

162

Potrzebujesz opcji, która określa maksymalną długość wyświetlanego ciągu (domyślnie 32).-v -s strsize

Matthew Slattery
źródło
14
To nie działa w przypadku argumentów „zagnieżdżonych” lub argumentów tablicowych, np.ioctl(3, SNDCTL_TMR_TEMPO or TCGETA, {B9600 -opost -isig -icanon -echo ...})
Marki555,
8
został rozwiązany na stackoverflow.com/questions/34365928/…
Vladimir Kunschikov
2
Jak zauważył inny użytkownik w komentarzu , „-v argument działa od 4.15 i wydaje się, że istnieje od czasu utworzenia repozytorium Git”. Więc nie musisz zmieniać źródła pakietu, -v powinno działać dobrze z zagnieżdżonymi obiektami.
DarkFranX