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

Odpowiedzi:


162

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


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,


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.