Funciones de depuración

El kernel de Linux proporciona muchos mecanismos para diagnosticar problemas, como el seguimiento, BPF y la 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 mantenedores de nivel superior para agregar estas funciones a Linux.

Funciones de depuración de nivel inferior en módulos de proveedores

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

Funciones de depuración intrusivas de nivel inferior

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 las penalizaciones de rendimiento o a la falta de idoneidad para el uso en producción, pero son indispensables para depurar ciertos tipos de problemas. Algunos ejemplos de estas herramientas incluyen saneadores (KASAN, UBSAN), debugfs y otras funciones y herramientas específicas de socios.

Depende de ti determinar cómo administras los kernels especiales habilitados para la 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 de nivel inferior. Te recomendamos que sigas aislando estas 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 los lineamientos que se describen en los parches específicos de Android.