depuración

El kernel de Linux proporciona muchos mecanismos para diagnosticar problemas, incluidos el seguimiento , BPF y creación de perfiles . La mayoría de estas técnicas están disponibles en el kernel binario Generic Kernel Image (GKI). Al desarrollar productos, existen muchas más herramientas que se integran en los procesos de desarrollo o integración, algunas de las cuales requieren características del núcleo que no forman parte de GKI. Al igual que con la mayoría de las funciones de GKI, lo alentamos a que trabaje con los mantenedores ascendentes para agregar estas funciones a Linux.

Funciones de depuración aguas abajo en módulos de proveedores

Las funciones de depuración tienen un alcance similar a otros tipos de funciones y deben seguir los mismos procesos que se describen en los parches específicos de Android .

Funciones intrusivas de depuración descendente

Algunas funciones de depuración útiles requieren opciones de configuración especiales que están deshabilitadas en GKI y, por lo tanto, requieren una compilación especial del kernel. Estas características pueden estar deshabilitadas debido a penalizaciones de rendimiento o falta de idoneidad para el uso de producción, pero son indispensables para depurar ciertos tipos de problemas. Ejemplos de tales herramientas incluyen desinfectantes (KASAN, UBSAN), debugfs y otras características y herramientas específicas de socios.

Depende de usted determinar cómo administra los núcleos especiales habilitados para la depuración que afectan la interfaz del módulo del núcleo (KMI). Una práctica común es tener una compilación de depuración interna y entregar los artefactos resultantes a clientes internos o socios de desarrollo posteriores. Recomendamos seguir aislando dichas funciones en módulos, ya que las funciones de depuración específicas de socios no se pueden aceptar en el kernel de GKI más allá de las pautas descritas en los parches específicos de Android .