strace — утилита для диагностики и отладки программ для ОС, использующих ядро Linux. Она позволяет отслеживать и (начиная с версии 4.15) вмешиваться в процесс взаимодействия программы и ядра, включая происходящие системные вызовы, возникающие сигналы и изменения состояния процесса. Для своей работы strace использует механизм ptrace. Начиная с версии 4.13, формирование выпусков программы синхронизировано с выходом новых версий Linux.
Основные изменения:
- 64-битные системные вызовы (например, readv), вызываемые в x32 ABI, теперь снабжаются суффиксом «
#64» вместо ранее используемого префикса «64:». В отличие от старого, новый формат имени может быть использован при спецификации системных вызовов в аргументах командной строки. - Изменён формат вывода номера ошибки: теперь errno всегда печатается как «
-1 ECONST (Error description)» для известных номеров ошибок и как «-1 (errno 123)» для неизвестных, вне зависимости от квалификатора-e raw. Для печати номеров известных номеров ошибок можно использовать опцию-X raw. - Недоступные адреса внутри массивов теперь печатаются как комментарии (
[value1, value2, ... /* 0xbadc0ded */]вместо[value1, value2, 0xbadc0ded]). - Добавлена поддержка использования libdw для печати стеков вызовов (опция
-k). - Добавлена опция
-Xдля управления форматом вывода именованных констант (Debian bug #692915). - Добавлена возможность указания ABI при задании системного вызова (например,
-e raw=open@x32,inotify_init@64,statx@32). - Добавлена поддержка инжектирования системных вызовов без побочных эффектов вместо инжектирования некорректного системного вызова (
-e inject=SET:syscall=; это может быть полезно в случае наличия фильтров seccomp, которые убивают приложения при вызове системных вызовов, не входящих в белый список). - Улучшена поддержка воспроизводимой сборки (Debian bug #896016).
- Добавлена поддержка декодирования команд
BPF_PROG_QUERYиBPF_RAW_TRACEPOINT_OPENсистемного вызова bpf. - Добавлена поддержка декодирования команд ioctl
INOTIFY_IOC_SETNEXTWDиPERF_EVENT_IOC_*. - Добавлена поддержка декодирования опций
PR_GET_SPECULATION_CTRLиPR_SET_SPECULATION_CTRLсистемного вызова prctl. - Улучшено декодирование системных вызовов bpf, getsockopt, setsockopt и socket.
- Улучшено декодирование протоколов netlink
NETLINK_KOBJECT_UEVENTиNETLINK_ROUTE. - Улучшено декодирование команд ioctl
BTRFS_*,FS_IOC_*,SIOCGIFHWADDRиSIOCSIFHWADDR. - Улучшено декодирование адресов сокетов
AF_BLUETOOTH. - Реализовано декодирование системного вызова io_pgetevents.
>>> Сайт проекта
>>> Скачать
>>> Репозиторий (GitHub)
>>> Подробности





