Отладка

Ядро Linux предоставляет множество механизмов для диагностики проблем, включая трассировку , BPF и профилирование . Большинство этих методов доступны в двоичном ядре Generic Kernel Image (GKI). При разработке продуктов в процессы разработки или интеграции интегрируется гораздо больше инструментов, некоторые из которых требуют функций ядра, не являющихся частью GKI. Как и в случае с большинством функций GKI, мы рекомендуем вам работать с сопровождающими вышестоящего уровня, чтобы добавить эти функции в Linux.

Нижестоящие функции отладки в модулях поставщиков

Функции отладки аналогичны другим функциям и должны следовать тем же процессам, которые описаны в исправлениях для Android .

Навязчивые нижестоящие функции отладки

Некоторые полезные функции отладки требуют специальных параметров конфигурации, которые отключены в GKI, и поэтому требуют специальной сборки ядра. Эти функции могут быть отключены из-за снижения производительности или непригодности для использования в рабочей среде, но они необходимы для отладки определенных типов проблем. Примеры таких инструментов включают дезинфицирующие средства (KASAN, UBSAN), debugfs и другие функции и инструменты, специфичные для партнеров.

Вам решать, как управлять специальными ядрами с поддержкой отладки, которые влияют на интерфейс модуля ядра (KMI). Обычной практикой является создание внутренней отладочной сборки и доставка полученных артефактов внутренним клиентам или нижестоящим партнерам по разработке. Мы рекомендуем продолжать изолировать такие функции в модулях, так как функции отладки, характерные для партнеров, не могут быть приняты в ядро ​​GKI за пределами рекомендаций, описанных в исправлениях для Android .