Recursos de depuração

O kernel do Linux oferece 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 da imagem genérica do kernel (GKI). Ao desenvolver produtos, há muitas outras ferramentas integradas aos processos de desenvolvimento ou integração, algumas delas exigem recursos do kernel que não fazem parte do GKI. Como acontece com a maioria dos recursos do GKI, recomendamos que você trabalhe com os mantenedores upstream para adicionar esses recursos ao Linux.

Recursos de depuração downstream em módulos do fornecedor

Os recursos de depuração têm um escopo semelhante a outros tipos de recursos e precisam seguir os mesmos processos descritos em Correções específicas do Android.

Recursos de depuração invasivos de downstream

Alguns recursos de depuração úteis exigem opções de configuração especiais que são desativadas no GKI e, portanto, exigem um build especial do kernel. Esses recursos podem ser desativados devido a penalidades de desempenho ou inadequação para uso de produção, mas são indispensáveis para depurar determinados tipos de problemas. Exemplos de ferramentas incluem limpadores (KASAN, UBSAN), debugfs e outros recursos e ferramentas específicos do parceiro.

Cabe a você determinar como gerenciar kernels especiais com depuração ativada que afetam a Interface de Módulo do Kernel (KMI, na sigla em inglês). Uma prática comum é ter um build de depuração interno e entregar os artefatos resultantes aos clientes internos ou parceiros de desenvolvimento downstream. Recomendamos continuar isolando esses recursos em módulos, já que 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.