LINUX.ORG.RU

strace 4.21

 , ,


3

1

strace — утилита для диагностики и отладки программ для ОС, использующих ядро Linux. Она позволяет отслеживать и (начиная с версии 4.15) вмешиваться в процесс взаимодействия программы и ядра, включая происходящие системные вызовы, возникающие сигналы и изменения состояния процесса. Для своей работы strace использует механизм ptrace. Начиная с версии 4.13, формирование выпусков программы синхронизировано с выходом новых версий Linux.

Основные изменения:

  • Добавлена поддержка compat personality для s390x (IBM z/Architecture).
  • Добавлена поддержка (при сборке с --with-libiberty) demangling имён функций при выводе стека вызовов (опция -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 и режима IA-32 на архитектуре IA-64.

>>> Полный список изменений

>>> Сайт проекта (SourceForge)

>>> Репозиторий (SourceForge, GitLab)

>>> Подробности

★★

Проверено: jollheef ()

вмешиваться в процесс взаимодействия программы и ядра, включая происходящие системные вызовы, возникающие сигналы и изменения состояния процесса.

Скиньте туториалы с примерами для тупых, пожалуйста. А то интересненько.

iljuase ()

хорошая програмка, не раз выручала.

splinter ★★★★★ ()
Ответ на: комментарий от iljuase

На fosdem пару недель назад был неплохой доклад от разработчика этой утилиты. Доклады уже выложены на fosdem.org. Вот рекомендую его и посмотреть, как раз там про новые возможности.

DELIRIUM ★★★★★ ()

Ну, вобщем-то круто, и занятно-)

ChAnton ★★ ()
Ответ на: комментарий от eSyr

Добавил себе в закладки, как только время появится - буду смотреть)

lucentcode ★★★★★ ()
Ответ на: комментарий от kshmr

У тебя вообще никаких сорцов ни на каком сервисе не выложено. Да если strace будут выкладывать исключительно через MSDN с принудительной регистрацией - все равно качать буду!

anonymous ()
Ответ на: комментарий от kshmr

Моветон иметь их в таком убогом месте.

Моветон жить в убогой трёхмерной вселенной, вот если хотя-бы четырёхмерная была...

anonymous ()
Ответ на: комментарий от anonymous

Ты подожди, сейчас ещё набегут те, что «DTrace vs strace» писали, и будешь объяснять им, что ptrace это калька с DTrace, да и вообще:

Для своей работы strace использует механизм ptrace.

anonymous ()
Ответ на: комментарий от anonymous

У меня на GitHub лежат сорцы ведра 3.10.102 андроида.

kshmr ()
Ответ на: комментарий от kirk_johnson

Ты его сам написал?

Он его скомуниздил, чтобы потом свой васянский форк сделать. Типа «Васяoid».

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.