Ядро Linux предоставляет множество механизмов для диагностики проблем, включая трассировку , BPF и профилирование . Большинство из этих методов доступны в двоичном ядре Generic Kernel Image (GKI). При разработке продуктов существует множество других инструментов, которые интегрируются в процессы разработки или интеграции, некоторые из которых требуют функций ядра, не являющихся частью GKI. Как и в случае с большинством функций GKI, мы рекомендуем вам работать с разработчиками исходной версии, чтобы добавить эти функции в Linux.
Функции последующей отладки в модулях поставщиков
Функции отладки аналогичны функциям других типов и должны выполнять те же процессы, которые описаны в патчах для Android .
Навязчивые функции последующей отладки
Некоторые полезные функции отладки требуют специальных параметров конфигурации, которые отключены в GKI и, следовательно, требуют специальной сборки ядра. Эти функции могут быть отключены из-за снижения производительности или непригодности для промышленного использования, но они незаменимы для отладки определенных типов проблем. Примеры таких инструментов включают дезинфицирующие средства (KASAN, UBSAN), debugfs
и другие функции и инструменты, специфичные для партнеров.
Вам решать, как управлять специальными ядрами с поддержкой отладки, которые влияют на интерфейс модуля ядра (KMI). Обычной практикой является создание внутренней отладочной сборки и доставка полученных артефактов внутренним клиентам или последующим партнерам по разработке. Мы рекомендуем продолжать изолировать такие функции в модулях, поскольку функции отладки, специфичные для партнеров, не могут быть приняты в ядро GKI, кроме рекомендаций, описанных в патчах для Android .