strace
October 20, 2023

Шпаргалка по strace

Трассировка программы

strace ./program

Трассировка запущенного процесса

strace -p [pid]

Трассировка запущенного процесса и его потомков(форков)

strace -fp [pid]

Форматирование вывода

Трассировка запущенного процесса и его потомков с длинной строки 80 символов(команда напечатает первые 80 символов каждой строки). По-умолчанию, длинна строки равна 32 символам. Важно, что имена файлов не учитываются в длинне строки и всегда печатаются полностью.

strace -s 80 -fp [pid]

Время и логирование

Трассировка процесса с указанием времени выполнения каждого системного вызова

strace -Tf ./program

Трассировка процесса с указанием времени в которое был выполнен системный вызов

strace -t ./program

включая микросекунды

strace -tt ./program

unix формат времени с микросекундами

strace -ttt ./program

Логирование в файл

strace -o ./file.log ./program

Запись в отдельный файл лога каждого процесса. (Комбинация опций --follow-forks и --output-separately)

strace -ff -o ./file.log ./program

Фильтрация

Фильтр по системным вызовам open,read,write

strace -Tfe trace=open,read,write ./program

Статистика

Выводит сводную таблицу по затраченному времени, вызовам, ошибкам.

strace -c ./program