Начиная с 27 марта 2025 г. мы рекомендуем использовать android-latest-release вместо aosp-main для создания и участия в AOSP. Дополнительные сведения см. в разделе Изменения в AOSP .
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Ядро Linux предоставляет множество механизмов для диагностики проблем, включая трассировку , BPF и профилирование . Большинство этих методов доступны в бинарном ядре Generic Kernel Image (GKI). При разработке продуктов существует множество дополнительных инструментов, которые интегрируются в процессы разработки или интеграции, некоторые из которых требуют функций ядра, не входящих в GKI. Как и в случае с большинством функций GKI, мы призываем вас работать с разработчиками вышестоящих версий, чтобы добавить эти функции в Linux.
Функции отладки в нисходящем направлении в модулях поставщика
Функции отладки по своему объему аналогичны другим типам функций и должны следовать тем же процессам, которые описаны в патчах для Android .
Навязчивые функции отладки в нисходящем направлении
Некоторые полезные функции отладки требуют специальных параметров конфигурации, которые отключены в GKI и, следовательно, требуют специальной сборки ядра. Эти функции могут быть отключены из-за снижения производительности или непригодности для производственного использования, но они незаменимы для отладки определенных типов проблем. Примерами таких инструментов являются санитайзеры (KASAN, UBSAN), debugfs и другие функции и инструменты, специфичные для партнеров.
Вам решать, как управлять специальными отладочными ядрами, которые влияют на Kernel Module Interface (KMI). Распространенной практикой является внутренняя отладочная сборка и доставка полученных артефактов внутренним клиентам или партнерам по разработке нижестоящего уровня. Мы рекомендуем продолжать изолировать такие функции в модулях, поскольку отладочные функции, специфичные для партнеров, не могут быть приняты в ядро GKI за пределами рекомендаций, описанных в патчах, специфичных для Android .
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-29 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-07-29 UTC."],[],[],null,["# Debug features\n\nThe Linux kernel provides many mechanisms to diagnose issues including\n[tracing](https://android.googlesource.com/kernel/common/+/refs/heads/android-mainline/Documentation/trace/),\n[BPF](https://lwn.net/Articles/818714/), and\n[profiling](https://perf.wiki.kernel.org/index.php/Tutorial). Most\nof these techniques are available in the Generic Kernel Image (GKI) binary\nkernel. When developing products, there are many more tools that are integrated\ninto the development or integration processes, some of which require kernel\nfeatures that aren't part of GKI. As with most GKI features, we encourage you to\nwork with upstream maintainers to add these features to Linux.\n| **Note:** Kernel debugging tools and techniques are beyond the scope of this document.\n\nDownstream debug features in vendor modules\n-------------------------------------------\n\nDebugging features are similar in scope to other kinds of features and must\nfollow the same processes as described in\n[Android-specific patches](/docs/core/architecture/kernel/kernel-code#android-specific-patches).\n\nIntrusive downstream debug features\n-----------------------------------\n\nSome useful debug features require special configuration options that are\ndisabled in GKI and therefore require a special build of the kernel. These\nfeatures might be disabled due to performance penalties or unsuitability for\nproduction use, but are indispensable for debugging certain\ntypes of issues. Examples of such tools include sanitizers (KASAN, UBSAN),\n`debugfs`, and other partner-specific features and tools.\n\nIt's up to you to determine how you manage special debug-enabled kernels\nthat impact the Kernel Module Interface (KMI). A common practice is to have an\ninternal debug build and deliver the resulting artifacts to internal customers\nor downstream development partners. We recommend continuing to isolate such\nfeatures into modules as partner-specific debug features can't be accepted into\nthe GKI kernel beyond the guidelines described in\n[Android-specific patches](/docs/core/architecture/kernel/kernel-code#android-specific-patches)."]]