The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Новая версия strace 4.17"
Отправлено opennews, 25-Май-17 20:09 
Доступен (https://sourceforge.net/p/strace/mailman/message/35858015/)  выпуск strace 4.17 (https://strace.github.com/), утилиты для диагностики и отладки программ для ОС, использующих ядро Linux. Она позволяет отслеживать и (начиная с версии 4.15 (https://www.opennet.ru/opennews/art.shtml?num=45689)) вмешиваться в процесс взаимодействия программы и ядра, включая происходящие системные вызовы, возникающие сигналы и изменения состояния процесса. Для своей работы 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.17:


-   Оптимизирована фильтрация системных вызовов за счёт уменьшения количества вызовов ptrace() для системных вызовов, отображение которых отключено.
-   Добавлена поддержка декодирования системного вызова statx(2) (http://man7.org/linux/man-pages/man2/statx.2.html), появившегося (https://lwn.net/Articles/707602/) в Linux 4.11.
-  Добавлена поддержка декодирования команд ioctl(2) (http://man7.org/linux/man-pages/man2/ioctl.2.html), связанных с операциями над пространствами имён (http://man7.org/linux/man-pages/man2/ioctl_ns.2.html).
-  Для ioctl подсистемы Video4Linux добавлена поддержка декодирования не декодировавшихся ранее типов V4L2_BUF_TYPE_*, а также команд VIDIOC_S_TUNER и VIDIOC_G_TUNER.
-  Реализована поддержка декодирования сообщений NLMSG_ERROR протокола netlink (http://man7.org/linux/man-pages/man7/netlink.7.html).
-  Улучшено декодирование системного вызова sched_setattr(2) (http://man7.org/linux/man-pages/man2/sched_setattr.2.html), команды BPF_PROG_ATTACH системного вызова bpf(2) (http://man7.org/linux/man-pages/man2/bpf.2.html), некорректных аргументов команд подсистемы device mapper (https://www.kernel.org/doc/Documentation/device-mapper/) системного вызова ioctl(2) (http://man7.org/linux/man-pages/man2/ioctl.2.html).
-  Классы системных вызовов, указываемые в аргументе -e trace= (такие как process, file, network, ipc, desc, memory), теперь должны начинаться со знака %: -e trace=%memory. Старый синтаксис без указания знака процента (-e trace=memory) всё так же поддерживается, но теперь считается устаревшим.
-  Добавлены новые классы системных вызовов для указания их фильтрации: %stat (варианты системного вызова stat(2) (http://man7.org/linux/man-pages/man2/stat.2.html) на разных архитектурах), %lstat (варианты системного вызова lstat(2) (http://man7.org/linux/man-pages/man2/lstat.2.html)), %fstat (варианты системных вызовов fstat(2) (http://man7.org/linux/man-pages/man2/fstat.2.html) и fstatat(2) (http://man7.org/linux/man-pages/man2/fstatat.2.html)), %%stat (все вызовы, возвращающие статусную информацию о файле, включая statx(2) (http://man7.org/linux/man-pages/man2/statx.2.html)), %statfs (варианты системного вызова statfs(2) (http://man7.org/linux/man-pages/man2/statfs.2.html)), %fstatfs (варианты системного вызова fstatfs(2) (http://man7.org/linux/man-pages/man2/fstatfs.2.html)), %%statfs (все вызовы, возвращающие статусную информацию о файловой системе, включая ustat(2) (http://man7.org/linux/man-pages/man2/ustat.2.html)).
-  Добавлена возможность указания регулярного выражения для задания множества фильтруемых системных вызовов, например, -e trace=/sched_.*.
-  Добавлена возможность игнорирования ошибки, возникающей в случае, если множество системных вызовов, соответствующее указанному фильтру, пустое, например -e trace=?statx на архитектурах, которые не поддерживают системный вызов statx(2) (http://man7.org/linux/man-pages/man2/statx.2.html).
-  Добавлена поддержка декодирования маски сигналов в системном вызове rt_sigreturn(2) (http://man7.org/linux/man-pages/man2/rt_sigreturn.2.html) для архитектур alpha, arc, arm, avr32, bfin, cris, hppa, m68k, metag, microblaze, mips, nios2, or1k, powerpc, powerpc64, riscv, sh, sh64, sparc, sparc64, tile, x86 и xtensa.
-  Исправлено декодирование аргумента флагов в системных вызовах preadv2(2) (http://man7.org/linux/man-pages/man2/preadv2.2.html) и pwritev2(2) (http://man7.org/linux/man-pages/man2/pwritev2.2.html) на ABI x32.
-  Исправлено декодирование старого варианта системного вызова sigsuspend(2) (http://man7.org/linux/man-pages/man2/sigsuspend.2.html) на архитектурах alpha, cris, mips, powerpc, powerpc64, sh, sh64, sparc и sparc64.
-  Исправлено декодирование системных вызовов sgetmask(2) (http://man7.org/linux/man-pages/man2/sgetmask.2.html) и ssetmask(2) (http://man7.org/linux/man-pages/man2/ssetmask.2.html) на 64-битных архитектурах.
-  Обойдена ошибка компилятора GCC (https://sourceforge.net/p/strace/mailman/message/35721703/), приводящая к генерации некорректного кода на ядрах для архитектуры aarch64, вследствие которой третий аргумент системного вызова sched_getattr(2) (http://man7.org/linux/man-pages/man2/sched_getattr.2.html) не вполне 32-битный.


Также, среди изменений, вошедших в предыдущий релиз 4.16, можно отметить следующие:


-  В механизм подмены системного вызова добавлена поддержка указания возвращаемого значения (-e inject=SET:retval=) и возбуждения сигнала (-e inject=SET:signal=)
-  Добавлена поддержка декодирования системного вызова ustat(2) (http://man7.org/linux/man-pages/man2/ustat.2.html).
-  Реализована поддержка декодирования команд BPF_OBJ_PIN, BPF_OBJ_GET, BPF_PROG_ATTACH и BPF_PROG_DETACH системного вызова bpf(2) (http://man7.org/linux/man-pages/man2/bpf.2.html).
-  Существенно доработана поддержка декодирования команд SCSI системного вызова ioctl(2) (http://man7.org/linux/man-pages/man2/ioctl.2.html): добавлена поддержка декодирования всех не доекодировавшихся ранее команд SG_*, а также структур sg_io_hdr и sg_io_v4.
-  Улучшено декодирование системных вызовов get_robust_list(2) (http://man7.org/linux/man-pages/man2/get_robust_list.2.html), getrandom(2) (http://man7.org/linux/man-pages/man2/getrandom.2.html), io_submit(2) (http://man7.org/linux/man-pages/man2/io_submit.2.html), set_robust_list(2) (http://man7.org/linux/man-pages/man2/set_robust_list.2.html).
-  Исправлено декодирование структур ifconf, ifreq, and loop_info для ABI, отличающихся от ABI ядра.
-  Исправлено декодирование системных вызовов kexec_file_load(2) (http://man7.org/linux/man-pages/man2/kexec_file_load.2.html), mprotect(2) (http://man7.org/linux/man-pages/man2/mprotect.2.html), pkey_mprotect(2) (http://man7.org/linux/man-pages/man2/pkey_mprotect.2.html), prctl(2) (http://man7.org/linux/man-pages/man2/prctl.2.html), preadv(2) (http://man7.org/linux/man-pages/man2/preadv.2.html)/preadv2(2) (http://man7.org/linux/man-pages/man2/preadv2.2.html), pwritev(2) (http://man7.org/linux/man-pages/man2/pwritev.2.html)/pwritev2(2) (http://man7.org/linux/man-pages/man2/pwritev2.2.html) на ABI x32.

URL: https://sourceforge.net/p/strace/mailman/message/35858015/
Новость: http://www.opennet.ru/opennews/art.shtml?num=46599

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру