Ab dem 27. März 2025 empfehlen wir, android-latest-release anstelle von aosp-main zu verwenden, um AOSP zu erstellen und Beiträge dazu zu leisten. Weitere Informationen finden Sie unter Änderungen am AOSP.
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Der Linux-Kernel bietet viele Mechanismen zur Diagnose von Problemen, darunter Tracing, BPF und Profiling. Die meisten dieser Techniken sind im binären Kernel des Generic Kernel Image (GKI) verfügbar. Bei der Entwicklung von Produkten werden viele weitere Tools in die Entwicklungs- oder Integrationsprozesse eingebunden. Einige davon erfordern Kernelfunktionen, die nicht Teil von GKI sind. Wie bei den meisten GKI-Funktionen empfehlen wir Ihnen, mit Upstream-Maintainern zusammenzuarbeiten, um diese Funktionen zu Linux hinzuzufügen.
Nachgelagerte Funktionen zur Fehlerbehebung in Anbietermodulen
Debugging-Funktionen sind in ihrem Umfang mit anderen Arten von Funktionen vergleichbar und müssen denselben Prozessen folgen, die unter Android-spezifische Patches beschrieben sind.
Intrusive downstream debug features
Einige nützliche Debugfunktionen erfordern spezielle Konfigurationsoptionen, die in GKI deaktiviert sind und daher einen speziellen Kernel-Build erfordern. Diese Funktionen sind möglicherweise aufgrund von Leistungseinbußen oder Unzulässigkeit für die Produktionsnutzung deaktiviert, aber für die Behebung bestimmter Arten von Problemen unerlässlich. Beispiele für solche Tools sind Sanitizer (KASAN, UBSAN),debugfs und andere partnerspezifische Funktionen und Tools.
Sie müssen selbst entscheiden, wie Sie spezielle debugfähige Kernel verwalten, die sich auf die Kernelmodulschnittstelle (KMI) auswirken. Häufig wird ein interner Debug-Build erstellt und die resultierenden Artefakte an interne Kunden oder nachgelagerte Entwicklungspartner übergeben. Wir empfehlen, solche Funktionen weiterhin in Modulen zu isolieren, da partnerspezifische Debugfunktionen nur im Rahmen der in den Android-spezifischen Patches beschriebenen Richtlinien in den GKI-Kernel aufgenommen werden können.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-27 (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)."]]