Философия «Отладка как код»
Drgn — это проект от Meta, разработанный под руководством разработчика ядра Linux Омаром Сандовалом (Omar Sandoval). Главная цель проекта — сделать программирование отладочных скриптов максимально естественным. Как заявляют авторы, инструмент стремится к тому, чтобы процесс отладки ощущался так же просто, как обычное написание кода, устраняя барьеры между интерпретатором и системными вызовами.
Ключевые технические нововведения
Выпуск версии 0.3 сфокусирован на расширении функциональности и повышении надежности. Среди главных изменений:
- Оптимизация QEMU: Drgn теперь умеет читать память напрямую из процесса QEMU, что значительно ускоряет отладку гостевых виртуальных машин.
- Безопасность: Кодовая база была усилена для защиты от недоверенной отладочной информации и поврежденных дампов памяти (core dumps).
- Новые функции: Появились команды для быстрого чтения количества прерываний (IRQ) в системе, новые опции для BPF-команд в режиме crash и частичная реализация команды
crash net. - Поддержка архитектуры: Добавлена корректная детекция архитектуры LoongArch64.
Совместимость с ядрами Linux
Особое внимание уделено поддержке новейших веток ядра. Drgn 0.3 официально поддерживает функции, введенные в Linux 7.2 и Linux 7.3. Это критически важно для разработчиков, работающих с актуальными стабильными релизами, так как позволяет анализировать структуру ядра и память без ручного обновления маппингов.
Итоги релиза
Помимо новых фич, версия 0.3 содержит десятки исправлений ошибок и улучшения документации. Проект остается открытым и доступен для загрузки через GitHub. Для специалистов по безопасности и разработчиков ядра Linux Drgn становится все более важным инструментом благодаря своей гибкости и скорости работы с памятью.
Источник: Phoronix ↗
