Доступен (https://sourceforge.net/p/strace/mailman/message/36026063/) новый выпуск strace 4.19 (https://strace.io/), утилиты для диагностики и отладки программ для ОС, использующих ядро Linux. Она позволяет отслеживать и (начиная с версии 4.15) вмешиваться в процесс взаимодействия программы и ядра, включая происходящие системные вызовы, возникающие сигналы и изменения состояния процесса. Для своей работы strace использует механизм ptrace (http://man7.org/linux/man-pages/man2/ptrace.2.html). Начиная с версии 4.13, формирование выпусков программы синхронизировано с выходом новых версий Linux.
Основные изменения (https://raw.githubusercontent.com/strace/strace/master/NEWS):
- Существенно доработано декодирование netlink (http://man7.org/linux/man-pages/man7/netlink.7.html) (осуществлено в рамках проекта (https://ppiao.github.io/2017/08/22/strace-gsoc-2017-netlink-...) Google Summer of Code 2017 по доработке декодирования netlink]:
- Реализовано декодирование атрибутов inet_diag_req_v2, inet_diag_req_compat, packet_diag_msg, smc_diag_msg протокола NETLINK_SOCK_DIAG (http://man7.org/linux/man-pages/man7/sock_diag.7.html).
- Реализованы протоколы NETLINK_SELINUX, NETLINK_CRYPTO (https://www.kernel.org/doc/html/v4.13/crypto/userspace-if.html) (базовая поддержка, атрибуты crypto_user_alg), NETLINK_KOBJECT_UEVENT.
- Реализовано декодирование сообщений addr, addrlabel, dcb, link, mdb, neigh, neightbl, netconf, nsid, route, rule, tc, tca протокола NETLINK_ROUTE (http://man7.org/linux/man-pages/man7/rtnetlink.7.html).
- Реализовано декодирование атрибутов nlmsgerr.
- Реализовано декодирование ack-флагов сообщений netlink.
- Реализовано декодирование аргументов команды KEYCTL_RESTRICT_KEYRING и параметров KDF команды KEYCTL_DH_COMPUTE системного вызова keyctl(2) (http://man7.org/linux/man-pages/man2/keyctl.2.html).
- Списки констант и команд ioctl обновлены до соответствия ядру Linux 4.13.
- Добавлена поддержка декодирования новых системных вызовов на архитектурах alpha (seccomp, bpf, userfaultfd, membarrier, mlock2, copy_file_range, preadv2, pwritev2, statx), microblaze (statx), s390 (s390_guarded_storage) и x86 (arch_prctl).
- Улучшено декодирование программ BPF (системный вызов bpf(2) (http://man7.org/linux/man-pages/man2/bpf.2.html) и команды SO_ATTACH_FILTER и SO_ATTACH_REUSEPORT_CBPF системного вызова setsockopt(2) (http://man7.org/linux/man-pages/man2/setsockopt.2.html)).
- Улучшено декодирование команды UFFDIO_API (http://man7.org/linux/man-pages/man2/ioctl_userfaultfd.2.html) системного вызова ioctl(2) (http://man7.org/linux/man-pages/man2/ioctl.2.html).
- Улучшено декодирование некоторых аспектов системных вызовов getsockopt(2) (http://man7.org/linux/man-pages/man2/getsockopt.2.html)/setsockopt(2) (http://man7.org/linux/man-pages/man2/getsockopt.2.html).
- Исправлены ошибки в применении фильтра path tracing для системных вызовов execveat, symlink, symlinkat, inotify_add_watch, inotify_init.
- У проекта появился логотип (https://commons.wikimedia.org/wiki/File:Strace_logo.svg):
URL: https://sourceforge.net/p/strace/mailman/message/36026063/
Новость: http://www.opennet.dev/opennews/art.shtml?num=47137