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, existem muitas outras ferramentas integradas aos processos de desenvolvimento ou integração, algumas das quais exigem recursos do kernel que não fazem parte do GKI. Assim como a maioria dos recursos do GKI, recomendamos que você trabalhe com mantenedores upstream para adicionar esses recursos ao Linux.

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

Os recursos de depuração são semelhantes em escopo a outros tipos de recursos e devem seguir os mesmos processos descritos nos patches específicos do Android .

Recursos de depuração downstream intrusivos

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 desabilitados 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 Interface de Módulo do Kernel (KMI). Uma prática comum é ter uma compilação de depuração interna e entregar os artefatos resultantes a clientes internos ou parceiros de desenvolvimento downstream. Recomendamos continuar a isolar esses recursos em módulos, pois os recursos de depuração específicos do parceiro não podem ser aceitos no kernel GKI além das diretrizes descritas nos patches específicos do Android .