Recursos de depuração

O kernel do Linux fornece muitos mecanismos para diagnosticar problemas, incluindo rastreamento , BPF e criação de perfil . A maioria dessas técnicas está disponível no kernel binário Generic Kernel Image (GKI). Ao desenvolver produtos, há muito mais ferramentas integradas aos processos de desenvolvimento ou integração, algumas das quais exigem recursos de kernel que não fazem parte do GKI. Assim como acontece com a maioria dos recursos do GKI, incentivamos você a trabalhar com mantenedores originais para adicionar esses recursos ao Linux.

Recursos de depuração downstream em módulos de fornecedores

Os recursos de depuração têm escopo semelhante a outros tipos de recursos e devem seguir os mesmos processos descritos em patches específicos do Android .

Recursos intrusivos de depuração downstream

Alguns recursos úteis de depuração exigem opções de configuração especiais que estão desabilitadas no GKI e, portanto, exigem uma compilação especial do kernel. Esses recursos podem ser desativados devido a penalidades de desempenho ou inadequação para uso em produção, mas são indispensáveis ​​para depurar certos tipos de problemas. Exemplos de tais ferramentas incluem sanitizadores (KASAN, UBSAN), debugfs e outros recursos e ferramentas específicos de parceiros.

Cabe a você determinar como gerenciar kernels especiais habilitados para depuração que impactam a Kernel Module Interface (KMI). Uma prática comum é criar uma depuração interna e entregar os artefatos resultantes a clientes internos ou parceiros de desenvolvimento downstream. Recomendamos continuar isolando esses recursos em módulos, pois os recursos de depuração específicos do parceiro não podem ser aceitos no kernel do GKI além das diretrizes descritas em patches específicos do Android .