Функции отладки

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

Функции последующей отладки в модулях поставщиков

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

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

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

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