Состоялся (https://sourceforge.net/p/strace/mailman/message/35929104/) выпуск strace 4.18 (https://strace.github.com/), утилиты для диагностики и отладки программ для ОС, использующих ядро Linux. Strace позволяет отслеживать и (начиная с версии 4.15) вмешиваться в процесс взаимодействия программы и ядра, включая происходящие системные вызовы, возникающие сигналы и изменения состояния процесса. Для своей работы strace использует механизм ptrace (http://man7.org/linux/man-pages/man2/ptrace.2.html). Начиная с версии 4.13 формирование выпусков strace синхронизировано с выходом новых версий Linux.
Основные изменения (https://raw.githubusercontent.com/strace/strace/master/NEWS) в strace 4.18:
- Реализован ряд улучшений в поддержке декодирования протокола netlink (http://man7.org/linux/man-pages/man7/netlink.7.html) (см. также (https://wiki.linuxfoundation.org/networking/netlink)). Работы по улучшению поддержки декодирования протокола netlink проводятся в рамках проекта Google Summer of Code 2017 "Netlink socket parsers (https://summerofcode.withgoogle.com/projects/6343800380194816/)", являющегося продолжением одноимённого проекта 2016 года (https://summerofcode.withgoogle.com/archive/2016/projects/51.../).
- Добавлена поддержка декодирования сообщений SCM_TIMESTAMP* (https://www.kernel.org/doc/Documentation/networking/timestam...).- Обновлены списки значений констант ARPHRD_*, KEYCTL_*, NDIAG_SHOW_*, RTM_*, SCM_*, SCTP_*, SO_*, V4L2_* и используемых в системном вызове prctl() ARCH_*.- Исправлен сброс маски заблокированных сигналов у strace в интерактивном режиме (-I2), теперь заблокированные сигналы остаются таковыми на всём протяжении работы strace.- Исправлен сброс обработчика сигнала SIGCHLD на обработчик по умолчанию в трассируемых процессах.- При завершении трассируемого процесса по сигналу, заблокированному в strace, данный сигнал разблокируется, дабы strace завершился по тому же сигналу.- Исправление сборки на старых ядрах на архитектуре mips.- Исправление сборки на архитектурах aarch64 и tile с glibc >= 2.26.- Исправление сборки на архитектурах arc и nios2 после изменений, связанных с добавлением поддержки декодирования системного вызова rt_sigreturn() (http://man7.org/linux/man-pages/man2/rt_sigreturn.2.html) в strace 4.17.
Также можно отметить работы, которые выполняются в рамках программы Google Summer of Code 2017 (помимо вышеотмеченного проекта JingPiao Chen по поддержке декодирования протокола netlink):
- Поддержка pcap-like синтаксиса для задания фильтров системных вызовов (https://summerofcode.withgoogle.com/projects/#5060921700384768) (Николай Марчук)- Поддержка встраивания Lua в механизмы фильтрации и подмены системных вызовов (https://summerofcode.withgoogle.com/projects/#5518819303882752) (Виктор Крапивенский)- Разработка утилиты, позволяющей получать справочную информацию о системных вызовах (https://summerofcode.withgoogle.com/projects/#5669814382100480) (Эдгар Казиахмедов)
URL: https://sourceforge.net/p/strace/mailman/message/35929104/
Новость: http://www.opennet.dev/opennews/art.shtml?num=46813