Не позволять strace сокращать аргументы?


117

Я пытаюсь использовать strace, чтобы узнать, какие команды выполняет программа, используя execve . Некоторые из аргументов в этих командах довольно длинные, и strace сокращает их до execve(я вижу "..." примерно через 30 символов), что не позволяет мне получить какую-либо полезную информацию. Как я могу получить полный текст каждого аргумента?

Я прочитал справочную страницу . Параметр -v печатает среду, что полезно, но аргументы по-прежнему усекаются.

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

Я также пробовал передать verbose = all, но это просто дает дополнительную информацию о SIGCHLD.

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

Ответы:


162

Вам нужна опция, определяющая максимальную длину отображаемой строки (по умолчанию 32).-v -s strsize


14
Это не работает для «вложенных» аргументов или аргументов массива, напримерioctl(3, SNDCTL_TMR_TEMPO or TCGETA, {B9600 -opost -isig -icanon -echo ...})
Marki555


2
Как отметил другой пользователь в комментарии здесь, «аргумент -v работает с версии 4.15 и, похоже, был там со времени создания репозитория Git». Таким образом, вам не нужно изменять источник пакета, -v должна отлично работать с вложенными объектами.
DarkFranX
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.