Доступен выпуск strace 4.21, утилиты для диагностики и отладки программ для ОС, использующих ядро Linux. Она позволяет отслеживать и (начиная с версии 4.15) вмешиваться в процесс взаимодействия программы и ядра, включая происходящие системные вызовы, возникающие сигналы и изменения состояния процесса. Для своей работы strace использует механизм ptrace. Начиная с версии 4.13 формирование выпусков программы синхронизировано с выходом новых версий Linux.
Основные изменения:
- Добавлена поддержка "compat personality" для s390x (IBM z/Architecture).
- Добавлена поддержка (при сборке с --with-libiberty) декодирования имён функций при выводе стека вызовов (опция -k).
- Добавлена справочная страница для команды strace-log-merge(1).
- Реализовано декодирование системных вызовов riscv_flush_icache(2), s390_guarded_storage(2), s390_pcio_mmio_read(2), s390_pci_mmio_write(2), s390_runtime_instr(2), s390_sthyi(2).
- Реализовано декодирование некоторых ioctl(2) команд KVM_*, обновлён декодер команды DM_LIST_DEVICES.
- Улучшено декодирование системных вызовов get_thread_area(2), memfd_create(2), modify_ldt(2), perf_event_open(2), reboot(2), set_thread_area(2), shmget(2).
- Реализовано декодирование команд BPF_PROG_TEST_RUN, BPF_PROG_GET_NEXT_ID, BPF_MAP_GET_NEXT_ID, BPF_PROG_GET_FD_BY_ID, BPF_MAP_GET_FD_BY_ID, BPF_OBJ_GET_INFO_BY_FD системного вызова bpf(2), улучшено декодирование команды BPF_MAP_CREATE.
- Улучшения в поддержке нескольких personality (syscall ABI):
- Теперь стало сложнее случайно собрать strace без поддержки декодирования дополнительных personality: в случае невозможности её сконфигурировать процесс конфигурации сборки теперь по умолчанию завершится ошибкой; поведение управляется посредством параметра configure --enable-mpers=yes|no|check|m32|mx32.
- Требуемая версия gawk для сборки поддержки нескольких personality снижена с 4 до 3.
- При невозможности корректного декодирования системных вызовов процесса в неподдерживаемой personality теперь выводится предупреждение.
- Информация о наличии поддержки корректного декодирования дополнительных personality теперь доступна в strace -V.
- Исправлена поддержка нескольких personality при кросс-компиляции.
- Номера неизвестных системных вызовов теперь печатаются в шестнадцатеричном формате.
- Удалён нерабочий код поддержки архитектуры CRIS и режима IA32 на архитектуре IA64.
|