Состоялся (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.ru/opennews/art.shtml?num=46813
> Разработка утилиты, позволяющей получать справочную информацию о системных вызовахЭэээ... man ?
Во-первых, маны есть на на все номера syscall'ов.Во-вторых, таблицы соответствия номера и названия в манах обычно нет.
В-третьих, в зависимости от сборки ядра syscall'ы могут быть разные, а тут живая информация.
> Во-первых, маны есть на на все номера syscall'ов.Вот их и нужно писать.
> Во-вторых, таблицы соответствия номера и названия в манах обычно нет.
Кому кроме разработчиков libc это нужно ? asmutils не предлагать :)
> В-третьих, в зависимости от сборки ядра syscall'ы могут быть разные, а тут живая информация.
Это еще что за новости ?
2:0 аноним уверенно ведет в матче с анимешником
> Кому кроме разработчиков libc это нужно ?любому, кто хочет перехватывать syscall-ы через ptrace
Имеется в виду, в основном, информация о номерах системных вызовов ("какой номер у системного вызова fstatat64 на разных архитектурах"), количестве параметров, информация из встроенного классификатора системных вызовов (например, "показать все системные вызовы на mips, которые strace считает сетевыми").
Троих из top10 https://github.com/strace/strace/graphs/contributors вижу на работе (когда не в отпуске) :)
Мог бы и сам тоже чем-нибудь полезным заняться.
И как там, на РАБоте?
А тебя почему там нет?
Esyr забрел на opennet :-) эх надо в ирц вылезти