A partir del 27 de marzo de 2025, te recomendamos que uses android-latest-release en lugar de aosp-main para compilar y contribuir a AOSP. Para obtener más información, consulta Cambios en AOSP.
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
El kernel de Linux proporciona muchos mecanismos para diagnosticar problemas, como la rastreo, BPF y generación de perfiles. La mayoría de estas técnicas están disponibles en el kernel binario de la imagen genérica del kernel (GKI). Cuando se desarrollan productos, hay muchas más herramientas que se integran en los procesos de desarrollo o integración, algunas de las cuales requieren funciones del kernel que no forman parte de GKI. Al igual que con la mayoría de las funciones de GKI, te recomendamos que trabajes con los encargados de mantenimiento upstream para agregar estas funciones a Linux.
Funciones de depuración descendentes en módulos de proveedores
Las funciones de depuración son similares en alcance a otros tipos de funciones y deben seguir los mismos procesos que se describen en los parches específicos de Android.
Funciones de depuración downstream invasivas
Algunas funciones de depuración útiles requieren opciones de configuración especiales que están inhabilitadas en GKI y, por lo tanto, requieren una compilación especial del kernel. Es posible que estas funciones estén inhabilitadas debido a penalizaciones de rendimiento o a que no son adecuadas para el uso en producción, pero son indispensables para depurar ciertos tipos de problemas. Algunos ejemplos de estas herramientas son los sanitizadores (KASAN, UBSAN), debugfs y otras funciones y herramientas específicas de los socios.
Depende de ti determinar cómo administras los kernels especiales habilitados para depuración que afectan la interfaz del módulo del kernel (KMI). Una práctica común es tener una compilación de depuración interna y entregar los artefactos resultantes a los clientes internos o a los socios de desarrollo descendentes. Recomendamos seguir aislando esas funciones en módulos, ya que las funciones de depuración específicas de los socios no se pueden aceptar en el kernel de GKI más allá de los lineamientos descritos en los parches específicos de Android.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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)."]]