| Ключ | Назначение |
|---|
| -с | Подсчитывать время, затраченное на каждый вызов и обработку ошибок. В конце трассировки будет представлен подробный отчет |
| -d | Выводить отладочные сообщения самой программы strace на стандартный вывод ошибки |
| -f | Трассировать дочерние процессы, созданные уже трассируемыми процессами |
| -ff | Данная опция применятся только вместе с опцией -o имя_файла. Каждый трассируемый процесс будет записан в файл имя_файла.pid |
| -F | Следовать вызовам vfork(). Данную опцию нельзя использовать вместе с опцией -f |
| -h | Вывести справку |
| -i | Выводить указатель инструкции во время системного вызова |
| -q | «Тихий режим». Подавляет вывод некоторых сообщений |
| -r | Выводить относительную метку времени для каждого вызова |
| -t | Перед каждой строкой выводить текущее время |
| -tt | То же, что и -t, но будут выводиться также микросекунды |
| -T | Показывать время, потраченное на системный вызов (то есть разницу между временем запуска и временем завершения вызова). Для каждого вызова |
| -v | Получение дополнительной информации |
| -V | Вывести номер версии strace |
| -X | Выводить не-ASCII строки в шестнадцатеричном формате |
| -XX | Выводить все строки в шестнадцатеричном формате |
| -a столбец | Выровнять возвращаемые вызовами значения в указанном столбце (по умолчанию 40) |
| -e выражение | Позволяет задать отслеживаемые события. За более подробной информацией обратитесь к справочной системе |
| -e trace=набор | Определить набор отслеживаемых вызовов. Например, trace=open,close,read,write |
| -e trace=file | Будут отслеживаться только вызовы для работы с файлами (open, stat, chmod, unlink и т.д.) |
| -e trace=process | Отслеживаются вызовы для работы с процессами (fork, exec, wait и др.) |
| -e trace=network | Отслеживаются сетевые вызовы |
| -e trace=signal | Отслеживаются вызовы для работы с сигналами |
| -e trace=ipc | Отслеживаются IPC-вызовы |
| -e abbrev=набор | Сокращает вывод каждого члена структуры. Например, abbrev=all или abbrev=none |
| -e verbose=набор | Различать структуры различных системных вызовов, по умолчанию verbose=all |
| -e raw=set | Выводит не декодированные значения аргументов системных вызовов. Данный аргумент полезен, если вы не доверяете декодированию или хотите знать точное числовое представление аргумента |
| -e signal=набор | Определяет набор трассируемых сигналов. По умолчанию signal=all. Вы можете использовать восклицательный знак для отрицания, например, signal=!SIGIO означает, что сигнал SIGIO не будет трассирован |
| -e read=набор | Выполнять полный шестнадцатиричный и ASCII-дамп всех прочитанных вызовом read() данных. Например, чтобы видеть все данные, поступающие через дескрипторы 2 и 7, введите read=2,7 |
| -e write=набор | То же, что и -e read, но только для записи |
| -o имя_файла | Перенаправить вывод программы в указанный файл. Данный файл будет полезен для дальнейшего анализа трассировки |
| -p pid | Присоединиться к процессу с PID=pid и начать трассировку |
| -s размер | Установить максимальный размер строки (по умолчанию 32). Имена файлов не рассматриваются как строки, поэтому всегда будут напечатаны полностью |
| -S критерий | Сортирует вывод гистограммы, которая выводится опцией -с, по заданному критерию: time (время), calls (вызовы), name (имя) и nothing (без сортировки) |
| -u имя_пользователя | Запустить программу от имени указанного пользователя. Эта опция будет полезной, если вы, зарегистрировавшись как root, будете проверять корректность работы программы, если бы она была запущена под другим пользователем |